8.Mysql主从复制

Docker中Mysql主从搭建步骤:

  1.新建主服务器容器实例3307:

    docker run -p 3307:3306 --name mysql-master -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-mater/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

  2.进入 /mydata/mysql-master/conf目录下新建my.cnf并添加以下内容

    

 

  3.重启mysql容器

    docker restart mysql-maste

  4.进入mysql容器

    docker exec -it mysql-maste /bin/bash

    mysql -uroot -p

  5.数据库内创建数据同步用户

    create user ' slave''@'%' identified by '123456';    #新建用户

    crant replication slave,replication client on *.* to 'slave'@'%';  #给用户赋予权限

  6.新建从服务器容器实例3308

    docker run -p 3308:3306 --name mysql-slave -v /mydata/mysql-slave/log:/var/log/mysql -v /mydata/mysql-slave/data:/var/lib/mysql -v /mydata/mysql-slave/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

 

   7.进入 /mydata/mysql-slave/conf目录下新建my.cnf并添加以下内容

    

 

 

   8.修改完配置后重启mysql-slave实例(配置信息与主服务器略有不同)

    docker restart mysql-slave

  9.在主数据库中查看主从同步状态

    show master status;

  10.进入mysql-slave容器  

    docker exec -it mysql-slave /bin/bash

    mysql -uroot -p

  11.在从数据库中配置主从复制

    change master to master_host=宿主机ip,master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000001',master_log_pos=617,master_connect_retry=30;

    

 

     

 

  12.在从数据库中查看主从同步状态

    show slave status \G;

    

 

   13.在从数据库中开启主从同步  

    start slave;

    

 

  14.查看从数据库状态发现已经同步

    

 

   15.主从复制测试

 

posted @ 2022-03-19 18:39  -wei  阅读(44)  评论(0)    收藏  举报