美文网首页
Mysql主从配置

Mysql主从配置

作者: Captain_tu | 来源:发表于2019-10-16 15:43 被阅读0次
  1. 环境说明
    两台机器,mac上mysql5.6@172.16.29.1,centos上mysql5.6@172.16.194.132

  2. 主从库数据同步

    mysqldump -uroot -p --all-databases > all.sql
    scp all.sql root@172.16.194.132:/tmp
    mysql -uroot -p </tmp/all.sql
    
  3. 主库(mac)配置

    • 开启bin-log
      mysqld --help --verbose | more 查看,有一行写着默认的配置文件路径

      Default options are read from the following files in the given order:
      /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
      

      编辑配置,添加 log-bin=mysql-bin
      重启mysqld,查看binlog是否开启 show variables like 'log_bin'

    • 配置主库server-id
      my.cnf 中添加配置 server-id=1
      重启mysqld(可以和bin-log一起配置)

    • 添加用户
      登进mysql主库,创建用于同步数据的用户。
      create user slaver@172.16.194.132 identified by 'abc123';
      授权用户同步数据
      grant replication slave, replication client on *.* to slaver@172.16.194.132;
      刷新权限
      flush privileges;

    • 查看主库的状态
      show master status;

      image.png
      重点关注 file和position,这两个需要在从库中使用。
  4. 从库配置

    • 配置relay_log(中继日志,主库将binlog写在本地,从库定期请求主库binlog的增量,存入自己的relay_log。然后从库定期重放relay_log)
      my.cnf中添加 relay_log=/var/lib/mysql/relaylog
    • 配置server-id
      my.cnf中添加 server-id=2 (这里server-id需要与主库的不一样)
      重启mysqld 'systemctl restart mysqld'
    • 配置slave节点
      登进mysql从库,执行sql
      change master to
      master_host='172.16.29.1',
      master_port=3306,
      master_user='slaver',
      master_password='abc123',
      master_log_file='mysql-bin.000006',  #这里就是主库中的show master status中的file,表示从这个binlog开始同步
      master_log_pos=614;
      
      开启slave
      start slave
      查看slave节点状态
      show slave status
  5. 检查是否成功

    • 主库中插入新的记录,从库表中是否有这条记录
  6. 问题汇总

    1. show slave status时,

相关文章

网友评论

      本文标题:Mysql主从配置

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