docker搭建mysql5.7主从备份

获取容器的独立ip

docker inspect --format='{
     {.NetworkSettings.IPAddress}}' 容器id

mysql配置文件路径

  • 默认配置文件路径/etc/opt/rh/rh-mysql57/my.cnf
#查找配置文件位置
mysql --help | grep my.cnf

运行容器,并映射配置文件

docker run -itd --name mysql-a -p 3306:3306 -v /etc/docker/mysql-5.7/conf/my.cnf-a:/etc/opt/rh/rh-mysql57/my.cnf -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7

docker run -itd --name mysql-b -p 3307:3306 -v /etc/docker/mysql-5.7/conf/my.cnf-b:/etc/opt/rh/rh-mysql57/my.cnf -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7

mysql登陆

#登陆
mysql -u root -p
#修改mysql密码
mysqladmin -u root password "new_password";

备用库创建主从备份策略

change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 2830, master_connect_retry=30;

命令说明:

master_host :Master的地址,指的是容器的独立ip,可以通过docker inspect --format=’{ {.NetworkSettings.IPAddress}}’ 容器名称|容器id查询容器的ip
mark
master_port:Master的端口号,指的是容器的端口号
master_user:用于数据同步的用户
master_password:用于同步的用户的密码
master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值
master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值
master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒

#参考

mysql主从备份文档
https://www.cnblogs.com/songwenjie/p/9371422.html

你可能感兴趣的:(mysql,mysql,docker,centos,linux,容器)