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;
浙公网安备 33010602011771号