mysql主从复制,主主复制

    xiaoxiao2021-03-25  107

    环境说明: centOS6.5 mysql 5.6.35 主库master 192.168.154.6 备库slave  192.168.154.7 1.永久关闭主库和备库的防火墙

    开启: chkconfig iptables on 关闭: chkconfig iptables off

    MySQL设置主-从复制:master–>slave

    2、修改主服务器master:

    #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=1 //[必须]服务器唯一ID binlog-do-db = dbname (要同步的数据库名) binlog-ignore-db= mysql,information_schema

    3、修改从服务器slave:

    #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[不是必须]启用二进制日志 log_slave_updates=1 server-id=2 //[必须]服务器唯一ID binlog-do-db = dbname (要同步的数据库名) binlog-ignore-db= mysql,information_schema

    4、重启两台服务器的mysql

    service mysqld restart

    5、在主服务器上授权slave:

    grant replication slave on *.* to 'root'@'192.168.154.%' identified by '632013';

    6、登录主服务器的mysql,查询master的状态

    mysql>show master status;

    7、配置从服务器Slave:

    mysql>change master to master_host='192.168.154.6', master_user='root', master_password='632013', master_port=3306, master_log_file='mysql-bin.000007', master_log_pos=120; Mysql>start slave; //启动从服务器复制功能

    8、检查从服务器复制功能状态:

    mysql> show slave status\G

    注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

    注意事项 这里可以看到 slave_IO_Running 是 NO 在底下可以看到我的错误信息提示 server_id was not set 因为我中途重置了一次 master  所以  server_id 被置空了 设置一下server_id  然后 重启服务就可以了

    MySQL设置主-主复制:master<–>slave

    思路:在两台服务器上各自建立一个具有复制权限的用户;让两个数据库互为主从的关系

    1、修改配置文件:

    把上面的连个数据库的配置文件重新配置,其配置如下

    # 主服务器上 [mysqld] server-id = 1 log-bin = mysql-bin binlog-do-db = dbname (要同步的数据库名) binlog-ignore-db= mysql,information_schema relay-log = relay-mysql relay-log-index = relay-mysql.index auto-increment-increment = 2 #每次跳两个数。 auto-increment-offset = 1 #从1开始。 # 从服务器上 [mysqld] server-id = 2 log-bin = mysql-bin binlog-do-db = dbname (要同步的数据库名) binlog-ignore-db= mysql,information_schema relay-log = relay-mysql relay-log-index = relay-mysql.index auto-increment-increment = 2 auto-increment-offset = 2 2.重启两台服务器的mysql service mysqld restart 3.授权服务器复制功能 master: mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.154.%' IDENTIFIED BY '632013'; mysql> flush privileges; slave: mysql> GRANT REPLICATION SLAVE ON *.* TO 'admin'@'192.168.154.%' IDENTIFIED BY '632013'; mysql> flush privileges 4.登录主服务器的mysql,查询master的状态 mysql>show master status; 5.置两台服务器的复制位置 在192.168.154.7上配置从服务器Slave: mysql>change master to master_host='192.168.154.6', master_user='admin', master_password='632013', master_port=3306, master_log_file='mysql-bin.000007', master_log_pos=120; 在192.168.154.6配置主服务器master: mysql>change master to master_host='192.168.154.7', master_user='root', master_password='632013', master_port=3306, master_log_file='mysql-bin.000007', master_log_pos=120; 6、在两台服务器上检查从服务器复制功能状态: Mysql>start slave; //启动从服务器复制功能

    注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

    参考文章 http://blog.csdn.net/goustzhu/article/details/9339621

    转载请注明原文地址: https://ju.6miu.com/read-22851.html

    最新回复(0)