禁止写操作:flush tables with read lock;
解锁:unlock tables;
进入容器:docker exec -it id bash
备份所有数据: mysqldump -uroot -p123+Jvmp=456 --all-databases > safeweb.sql
退出容器,复制safeweb.sql到主机上:docker cp id:safeweb.sql .
在slave数据库中还原数据
master数据库
开启二进制日志:
vi volumes/management/mysqld.cnf
[mysqld]
server-id = 1
log-bin = mysql-bin
重启容器
配置权限:GRANT ALL PRIVILEGES ON . to ‘backup’@’%’ identified by ‘123456’;
查看二进制日志:show master status\G;
slave 数据库配置
配置中继日志,和server-id
vi volumes/management/mysqld.cnf
[mysqld]
server-id = 2
relay_log = edu-mysql-relay-bin
启动容器
进入容器并删除server-uuid的配置,容器启动mysql,使用同一个镜像导致server-uuid相同,需要删除,让其重新生成
cat /var/lib/mysql/auto.cnf
[auto]
server-uuid=4942dfae-1844-11eb-ad02-000c29d69fbe
删除:rm /var/lib/mysql/auto.cnf
重启容器:docker restart id
登陆数据库权限配置:change master to master_host=‘192.168.50.134’,master_user=‘backup’,master_password=‘123456’,master_log_file=‘mysql-bin.000001’,master_log_pos=154,master_port=3306;
开启主从同步:start slave;
查看是否正常:show slave status;
https://blog.csdn.net/qq_42114918/article/details/92385977