mysql主从复制,主主复制

环境说明:
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.youkuaiyun.com/goustzhu/article/details/9339621

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值