MySQL8.0x的主从同步设置

手动导出主数据库sql文件导入到从数据库中保持数据和表结构的一致性。

1
mysqldump -t 数据库名 -uroot -p > xxx.sql 

主数据库

1
2
3
4
5
6
7
8
mysql>create user 'syncdata'@'localhost' identified by '1234567';
mysql>grant replication slave on *.* to 'syncdata'@'127.0.0.1';
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 1454 | | | |
+------------------+----------+--------------+------------------+-------------------+

从数据库

1
2
mysql --ssl-mode=DISABLED -h172.17.0.2 -uroot -p123456 --get-server-public-key
#先获取主数据库秘钥,因为mysql修改了验证方式,不然会报错。
1
2
mysql> change master to master_host='ip', master_port=16123, master_user='syncdata',master_password='1234567',master_log_file='mysql-bin.000001';
mysql> show slave status\G; #查看从数据库状态

指定数据库同步

1
2
从服务器
mysql> change replication filter replicate_do_db=(base_name);