zoukankan      html  css  js  c++  java
  • Mysql 5.6主从同步配置

    特别提示:本方法适用于mysql5.6版本,5.6以前的版本配置方法不同,我没有做测试

    由于一主多从和一主一从的配置方法一样,所以本文仅测试一主一从,可自主扩展到多从

    环境:

    server1 master centos7 mysql5.6

    server2 slave centos7 mysql5.6

    ......

    serverN slave centos7 mysql5.6

    配置:

    server1 master角色

    由于我是yum安装的mysql,所以

    #vim /etc/my.cnf 添加如下行

    server-id=1 
    log-bin=/var/log/mysql/logbin/mysql-bin
    binlog-do-db=radius

    server-id:用于标识,和slave角色的server-id区分开就行,没有大小之分

    log-bin:指定binlog的目录和文件,注意:这个文件和路径一定要存在,如果你用mysql用户启动的话,也要修改该文件的属主为mysql

    binlog-do-db:指定你要同步的数据库,如果你想忽略某些数据库的话,可以使用binlog-ignore-db参数

    配置完成后,重启mysql

    #service mysqld restart

    重启后,登录mysql控制台,新建一个账户,该账户主要是用于从库登录上来同步数据用的

    mysql>grant all privileges on *.* to 'user'@'%' identified by 'your_password';

    mysql>flush privileges;

    查看主库状态

    mysql>show master status; //如果出现如下字符说明配置正确

    mysql> show master status;
    +------------------+----------+--------------+----------------------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                 | Executed_Gtid_Set |
    +------------------+----------+--------------+----------------------------------+-------------------+
    | mysql-bin.000004 |    28125 | ufind_db     | information_schema,cluster,mysql |                   |
    +------------------+----------+--------------+----------------------------------+-------------------+
    1 row in set (0.00 sec)

    注意上面显示的File和Position字段,待会从库同步的时候需要用到

    server2 slave配置

    #vim /etc/my.cnf 添加如下行

    server-id=2
    binlog-do-db=radius

    注意:配置这两行就可以了,其他文章说有要配置binlog的,其实没必要配置,从库只是从主库去拿binlog,然后恢复到从库本地来,所以不用配置binlog

    如果你的从库下面级联了第二级的从库的话,就必须要配置binlog了,否则下级的从库无法同步数据

    重启数据库

    #service mysqld restart

    既然要从主库拿binlog,那在哪配置账户密码呢?重点来了

    重启完数据库实例后,登录mysql控制台,执行如下语句

    mysql>change master to master_host='server1_ip',master_user='root',master_password='your_pass',master_log_file='mysql-bin.000004',master_log_pos=28125;
    Query OK, 0 rows affected, 2 warnings (0.03 sec)

     mysql> start slave;
     Query OK, 0 rows affected (0.00 sec)

    在上面的sql语句中指定主库的账号密码,其中

    master_log_file='mysql-bin.000004',输入上一步中主库里面查出来的File字段

    master_log_pos 输入输入上一步中主库里面查出来的Position字段

    然后执行start slave命令就可以开始同步了,

    这时候主库里面插入一条数据,从库就可以自动同步过来了

    参考资料:https://blog.csdn.net/xlgen157387/article/details/51331244/

  • 相关阅读:
    Git远程操作
    696. Count Binary Substrings
    693. Binary Number with Alternating Bits
    821. Shortest Distance to a Character
    345. Reverse Vowels of a String
    89. Gray Code
    数组操作符重载
    C++字符串反转
    马克思的两面性-来自网友
    C++字符串
  • 原文地址:https://www.cnblogs.com/Kevin-1967/p/8633508.html
Copyright © 2011-2022 走看看