温馨提示×

创建MySQL单实例与主从复制实例

小樊
84
2024-09-08 12:28:41
栏目: 云计算

创建MySQL单实例和主从复制实例需要分别进行配置

  1. 创建MySQL单实例:

    a. 安装MySQL服务器。在Ubuntu上,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install mysql-server

b. 启动MySQL服务器并设置开机自启动:

sudo systemctl start mysql
sudo systemctl enable mysql

c. 登录到MySQL命令行客户端:

mysql -u root -p

d. 创建一个新的数据库和用户,并授予该用户对新数据库的访问权限:

CREATE DATABASE my_database;
CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'localhost';
FLUSH PRIVILEGES;

e. 退出MySQL命令行客户端:

exit
  1. 创建MySQL主从复制实例:

    a. 在主服务器上,编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件,添加以下内容:

[mysqld]
server-id=1
log-bin=mysql-bin
bind-address = 0.0.0.0

b. 重启MySQL服务器:

sudo systemctl restart mysql

c. 登录到MySQL命令行客户端:

mysql -u root -p

d. 为复制创建一个专用用户,并授予该用户复制权限:

CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;

e. 查看主服务器的状态:

SHOW MASTER STATUS;

f. 记下FilePosition的值,稍后在配置从服务器时需要用到。

g. 在从服务器上,编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件,添加以下内容(使用主服务器的IP地址替换<master_ip>):

[mysqld]
server-id=2
relay-log=relay-bin
bind-address = 0.0.0.0

h. 重启MySQL服务器:

sudo systemctl restart mysql

i. 登录到MySQL命令行客户端:

mysql -u root -p

j. 配置从服务器连接到主服务器:

CHANGE MASTER TO
  MASTER_HOST='<master_ip>',
  MASTER_USER='repl_user',
  MASTER_PASSWORD='repl_password',
  MASTER_LOG_FILE='mysql-bin.000001', -- 使用主服务器的File值
  MASTER_LOG_POS= 701; -- 使用主服务器的Position值

k. 启动从服务器复制进程:

START SLAVE;

l. 查看从服务器状态,确认复制正常运行:

SHOW SLAVE STATUS\G

现在,您已经成功创建了MySQL单实例和主从复制实例。

0