mysql主从复制

1.主数据库配置添加
cat /etc/my.cnf 
添加:
[mysqld]
server-id=1
log-bin=master-bin
log-slave-updates=true

#需要重启mysql服务
docker restart mysql

2.主数据库设置从库复制权限
grant replication slave on *.* to 'slave'@'192.168.1.%'  identified  by '1234';
flush privileges;

3.导出主库数据
docker exec -it mysql bash -c 'mysqldump -u root -p1234 --default-character-set=utf8 --opt -R -E aiboxcloud_test > /aiboxcloud_test_2022102610.sql

4.主库查看数据偏移量
show master status;

5.从库数据库配置
cat /etc/my.cnf 
添加:
[mysqld]
server-id=197              #server-id 不能和主库一致      
relay-log=relay-log-bin                
relay-log-index=slave-relay-bin.index        

#需要重启mysql服务
docker restart mysql

6.从库导入复制之前的主库的数据,因为主从复制是从当前开始复制
source /aiboxcloud_test_2022102610.sql

7.从库执行复制命令
change  master  to  master_host='192.168.1.104',master_user='slave',MASTER_PORT=23306,master_password='1234',master_log_file='master-bin.000001',master_log_pos=174326105;

8.启动复制
start  slave;

9.查看复制状态
show  slave  status\G   
#确保都是YES
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

posted @ 2022-10-26 11:19  Leonardo-li  阅读(28)  评论(0编辑  收藏  举报