MySQL8.0.27主从同步配置

1.编辑MySQL主上的/etc/my.cnf

log-bin=imooc_mysql
server-id=1
  • log-bin :MySQL的bin-log的名字
  • server-id : MySQL实例中全局唯一,并且大于0。

2.编辑MySQL从上的/etc/my.cnf

server-id=2
  • server-id : MySQL实例中全局唯一,并且大于0。与主上的 server-id 区分开。

3.MySQL主上加锁,阻止所有的写入操作

mysql >FLUSH TABLES WITH READ LOCK;

4.MySQL主上,查看bin-log的文件名和位置

mysql >SHOW MASTER STATUS;

5.MySQL主上dump所有数据

mysqldump --all-databases --source-data > dbdump.db -uroot -p

6.MySQL主进行解锁,解锁后,主上可以写入数据

mysql> UNLOCK TABLES;

7.MySQL从上导入之前dump的数据

# 远程复制数据
scp root@192.168.3.151:~/dbdump.db .
# 导入数据
mysql < dbdump.db -uroot -p

8.MySQL从上配置主从连接信息

mysql> change master to 
    master_host='192.168.3.151',
    master_user='root',
    master_password='root',
    master_log_file='mysql_log_bin.000001',
    master_log_pos=2438;
  • master_host: MySQL主的地址

  • master_port: MySQL主的端口(数字型)

  • master_user: 备份账户的用户名

  • master_password: 备份账户的密码

  • master_log_file:bin-log的文件名

  • master_log_pos: bin-log的文件名

  • bin-log的文件名和位置 是 步骤5中的show master status 得到的。

9.MySQL从上开启同步

mysql> START SLAVE;

查看MySQL从的状态

mysql> show slave status;

posted @ 2021-11-23 10:34  知之为不知  阅读(46)  评论(0)    收藏  举报