1、MySQL主从复制配置

1、 MySQL主从复制配置

Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。首先确保主从服务器上的Mysql版本相同

1.1修改主服务器master:

由于集群下的复制是基于row-based复制的,因此需要设置logbin-format的格式为:ROW 或者 MIXED。还有就是记得配置你的Relay_Log_File文件,如果你没有配置它、它处于关闭状态,那么你查看集群状态时、得到的是:

Error reading packet from server: Binary log is not open

找到目录etc/mysql/my.cnfmy.ini文件,文件中d[mysqld]后边加上:

server-id = 1 (自定义ID不能服务器配置文件相同)   

binlog_format = "ROW" #or MIXED  

log-bin=mysql-bin  

然后保存文件

1.2修改从服务器slave:

找到/etc/mysql/my.cnf my.cnf文件里面的[mysqld]后边加上如下几行: 

server-id = 2   

relay-log-purge=1   

skip-slave-start    

replicate-ignore-db=mysql  #mysql库不同步

在配置过后

 

sudo service mysql restart

1.3重启两台服务器的mysql

1.4在主服务器上建立帐户并授权slave:

GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。mysync用户名q123456密码

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

mysql>show master status;
   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

1.6配置从服务器Slave

mysql>change master to master_host='192.168.1.160',master_user='slave',master_password='slave', master_log_file='mysql-bin.000300',master_log_pos=1354047;  

Mysql>start slave;    //启动从服务器复制功能

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

   mysql> show slave status\G

   *************************** 1. row ***************************

                Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.1.160  //主服务器地址

                  Master_User: myrync         //授权帐户名,尽量避免使用root

                  Master_Port: 3306           //数据库端口,部分版本没有此行

                 Connect_Retry: 60

                Master_Log_File: mysql-bin.000004

              Read_Master_Log_Pos: 600   //#同步读取二进制日志的位置,大于等大于等于>=Exec_Master_Log_Pos

                Relay_Log_File: ddte-relay-bin.000003

                 Relay_Log_Pos: 251

            Relay_Master_Log_File: mysql-bin.000004

                Slave_IO_Running: Yes       //此状态必须YES

              Slave_SQL_Running: Yes       //此状态必须YES

注:Slave_IO_RunningSlave_SQL_Running进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)
以上操作过程,主从服务器配置完成。

 


你可能感兴趣的:(1、MySQL主从复制配置)