• Centos8 部署 Mysql8.0及主从复制


    1.拉取镜像
    [root@VM-24-9-centos ~]# docker pull mysql
    # 如需拉取置指定版本镜像加上:版本号即可
    [root@VM-24-9-centos ~]# docker pull mysql:7.6
    
    1.创建本地文件用于挂载
    [root@VM-24-9-centos ~]# mkdir -p /data/mysql/data
    [root@VM-24-9-centos ~]# mkdir -p /data/mysql/conf
    [root@VM-24-9-centos ~]# mkdir -p /data/mysql/conf/conf.d
    
    2.启动一个容器,将容器内的配置文件 /etc/mysql/my.cnf,copy到我们本地,用于默认配置文件
    # 启动一个容器用于复制配置文件
    [root@VM-24-9-centos ~]# docker run -d -p 3306:3306 --name mysqlone mysql:latest
    07c314a5e57c3a3ca8ab8ffe5937b4fdb6c87a831b7e15666ee7266feb5af42a
    [root@VM-24-9-centos ~]# docker cp mysqlone:/etc/mysql/my.cnf /data/mysql/conf/
    
    # 停止并删除该容器
    [root@VM-24-9-centos ~]# docker stop mysqlone
    mysqlone
    [root@VM-24-9-centos ~]# docker rm mysqlone
    mysqlone
    
    # 查看配置文件是否复制成功
    [root@VM-24-9-centos ~]# cd /data/mysql/conf/
    [root@VM-24-9-centos conf]# ls
    my.cnf
    
    3.使用本地配置文件挂载容器内的配置文件并挂载数据文件
    docker run -d -p 3306:3306 --name mysqlmaster  -e MYSQL_ROOT_PASSWORD='jing1996' -v /data/mysql/conf:/etc/mysql -v /data/mysql/data:/var/lib/mysql mysql
    

    Mysql8.0部署主从复制

    1.写好配置文件
    [mysqld]
    pid-file        = /var/run/mysqld/mysqld.pid
    socket          = /var/run/mysqld/mysqld.sock
    datadir         = /var/lib/mysql
    secure-file-priv= NULL
    
    # Custom config should go here
    !includedir /etc/mysql/conf.d/
    server-id=1
    log-bin=mysql-bin
    binlog-do-db=morin
    binlog-ignore-db=mysql
    
    • server-id :服务器Id,不能相同。
    • log-bin:二进制文件存放路径,非必须,mysql8后默认存放/var/lib/mysql这里
    • binlog-do-db:需要同步的数据库,如果有多个以空格隔开db1 db2 db3
    • binlog-ignore-db:不需要同步的数据库 如果有多个以空格隔开db1 db2 db3
    2.节点配置
    2.1主节点配置
    # 添加用于同步的数据库账号
    CREATE USER 'rootslave1'@'110.40.158.72' IDENTIFIED WITH mysql_native_password BY '123456';
    # 授权
    grant replication slave on *.* to 'rootslave1'@'110.40.158.72';
    # 刷新配置
    FLUSH PRIVILEGES;
    # 查询所有用
    select user,host from mysql.user;
    # 查询主节点状态
    show master status;
    
    2.2从节点配置
    # 配置主从同步
    change master to master_host='x.x.x.x',master_user='rootslave1',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=2384;
    # 开启同步
    start slave;
    # 查看从节点状态
    show slave status;
    

    注意事项:

    • 配置主从同步的 master_log_filemaster_log_pos参数是根据,主节点配置里的查询主节点状态命令查看的,这里的参数直接复制过来用
    • 开启同步之后查看从节点状态,必须保证 Salve_IO_Running Salve_SQL_Runing为 Yes,才能同步成功。为No的情况一般是前面说的两个字段的值不对

    如果需要同步的数据库在主库中已存在,是不会主动同步的,建议保留好数据删除数据库从建,就会自动同步到从库了

  • 相关阅读:
    Session机制详解
    JDK各个版本比较 JDK5~JDK9
    CAS 自旋锁
    OAuth2.0认证和授权原理
    微信二维码登录原理
    Django Restframework 实践(一)
    ESXI 5.5卡在LSI_MR3.V00
    理解RESTful架构
    RESTful API 设计指南
    python 异步 select pooll epoll
  • 原文地址:https://www.cnblogs.com/liubaojing/p/15562517.html
Copyright © 2020-2023  润新知