linux

如何通过mysql命令在linux上实现主从复制

小樊
82
2024-12-11 14:28:28
栏目: 云计算

在Linux上通过MySQL命令实现主从复制,需要按照以下步骤进行操作:

  1. 配置主服务器
[mysqld]
server-id=1
log-bin=/var/log/mysql/mysql-bin.log
binlog-do-db=<需要复制的数据库名>
sudo systemctl restart mysql
  1. 配置从服务器
CREATE USER 'repl'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.100';
FLUSH PRIVILEGES;
[mysqld]
server-id=2
relay-log=/var/log/mysql/mysql-relay-bin.log
relay-log-index=/var/log/mysql/mysql-relay-bin.index
read-only=ON

注意:read-only=ON确保从服务器上的数据不会被意外修改。

  1. 设置主服务器
SHOW MASTER STATUS;

记下FilePosition的值,它们将用于从服务器连接到主服务器并启动复制。

  1. 配置从服务器连接到主服务器
CHANGE MASTER TO 
MASTER_HOST='192.168.1.10', 
MASTER_USER='repl', 
MASTER_PASSWORD='password', 
MASTER_LOG_FILE='步骤3中获取的文件名', 
MASTER_LOG_POS=步骤3中获取的位置;
START SLAVE;
  1. 验证复制状态
SHOW SLAVE STATUS\G;

确保Slave_IO_RunningSlave_SQL_Running的值都是Yes,表示复制正在正常运行。

完成以上步骤后,您就成功地在Linux上通过MySQL命令实现了主从复制。

0
看了该问题的人还看了