美文网首页
docker 安装mysql并进行主从配置

docker 安装mysql并进行主从配置

作者: 胡GaQue | 来源:发表于2019-11-07 09:31 被阅读0次

    1:拉取镜像  docker pull  mysql:版本号

    2:创建仓库和配置文件 mkdir mysql-data   vim my.cof

    3:配置文件 master

    [mysqld]

    server-id=1

    log-bin=master-bin 

    skip-host-cache

    skip-name-resolve

    collation-server = utf8_unicode_ci

    init-connect='SET NAMES utf8'

    character-set-server = utf8

    user=mysql

    default-time_zone = '+8:00'

    [mysql] 

    default-character-set=utf8

    [client] 

    default-character-set=utf8

    4:配置文件slave

       [mysqld]

    server-id=2

    log-bin=master-bin

    skip-host-cache

    skip-name-resolve

    collation-server = utf8_unicode_ci

    init-connect='SET NAMES utf8'

    character-set-server = utf8

    user=mysql

    [mysql] 

    default-character-set=utf8

    [client] 

    default-character-set=utf8

    5:分别启动两个mysql实例

    启动master实例:docker run -d --name mysql_master -p 3306:3306 -v 服务器配置路径:/etc/mysql/my.cnf -v 服务器data文件夹位置:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root的密码  mysql:5.7.6

    启动slave实例:docker run -d --name mysql_slave -p 3306:3306 -v 服务器配置路径:/etc/mysql/my.cnf -v 服务器data文件夹位置:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root的密码  mysql:5.7.6 

    6:进去主库

        6.1  登录  mysql -u root -p 

        6.2  添加slave访问主库的账号  create user 'salve'@'%' identified by '账号密码';

        6.3 给slave 权限 grant all privileges on *.* to 'slave'@'%' identified by '账号面' ;(这里可以根据实际情况给权限)

        6.4 查看master的File值和Postion值:show master status ;

    7: 进入从库

        7.1  登录  mysql -u root -p 

        7.2  进行主从配置的master配置

    change master to master_host='主服务器IP',master_port=主服务器MYSQL端口,master_user='用户名',master_password='密码',master_log_file='master的File值',master_log_pos=master的Postion值;

        7.3:启动slave:        start slave;

        7.4 查看 slave状态: show slave status \G; Slave_IO_Running和 Slave_SQL_Running 都为yes的时候配置成功

    8:可能出现的问题 

      1: Slave_IO_Running 一直是connecting状态 

            解决方案:查看配置主数据库的时候,ip地址和账户密码是否填写正确

    9:mysql 主从失败的时候可以选择跳过,

         SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ;

    相关文章

      网友评论

          本文标题:docker 安装mysql并进行主从配置

          本文链接:https://www.haomeiwen.com/subject/dpsmbctx.html