美文网首页我爱编程
centos7+mysql5.7主从配置

centos7+mysql5.7主从配置

作者: 编程枯燥无味 | 来源:发表于2018-04-10 10:52 被阅读0次

    mysql主从配置

    1.1 部署环境

    主(master_mysql):192.168.56.5 OS:Centos 7.2
    从(slave_mysql):192.168.56.6 OS:Centos 7.2

    1.2 配置

    1.2.1主配置(master_mysql配置)
    vi /etc/my.cnf
    
    server-id=5 #设置主服务器的ID(不能和别的服务器重复,建议使用ip的最后一段)
    innodb_flush_log_at_trx_commit=2  #
    sync_binlog=1  #开启binlog日志同步功能
    log-bin=mysql-bin-5  #binlog日志文件名
    binlog-do-db=xxxx  # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
    
    1.2.2配置完成后,重启主库的mysql
    service mysqld restart
    mysql -u root -p ##登录mysql
    
    mysql>grant replication slave on *.* to 'mark'@'192.168.56.%' identified by '123456';   
    ##授权给从数据库服务器用户名mark,密码123456,192.168.56.%使用通配符表示该网段下所有服务器均可使用
    
    mysql>show master status ; ##查看主库的状态  file,position这两个值很有用,记一下。要放到slave配置中
    
    +--------------------+----------+--------------+------------------+-------------------+
    | File               | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +--------------------+----------+--------------+------------------+-------------------+
    | mysql-bin-5.000002 |      906 |     xxxx     |                  |                   |
    +--------------------+----------+--------------+------------------+-------------------+
    1 row in set (0.00 sec)
    
    1.2.3从配置(slave_mysql配置)
    vi /etc/my.cnf
    
    server-id=6
    innodb_flush_log_at_trx_commit=2
    sync_binlog=1
    log-bin=mysql-bin-6
    
    1.2.4配置完成后,重启从库的mysql
    service mysqld restart
    mysql -u root -p ##登录mysql
    
    
    mysql> change master to master_host='192.168.56.5', master_user='mark' ,master_password='123456', master_log_file='mysql-bin-5.000002' ,master_log_pos=906;
    mysql> start slave;  ##开启从库   (stop slave:关闭从库)
    mysql> show slave status; ###Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功
    

    1.3 验证主从

    可以在主库上对数据进行操作,再在从库上刷新是否同步

    常见BUG

    在配置结束后,可能会出现
    Slave_IO_Running: No
    Slave_SQL_Running: Yes
    
    在确认主服务器防火墙已关闭,互相可以ping通,id设置唯一的前提下,还出现这个问题,那可能就是克隆了虚拟机,只改server-id不行,两台服务器的mysql的uuid还是同一个
    cp /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bk
    ##备份该文件
    service mysqld restart
    ##重启mysql,会重新生成该文件,mysql的uuid已经被重新生成
    
    然后再去从服务器重启slave
    mysql> stop slave;
    mysql> start slave;
    mysql> show slave status;
    
    然后可以看到现在已经是启动正常了
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    

    相关文章

      网友评论

        本文标题:centos7+mysql5.7主从配置

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