mysql主主同步以及在环境中遇到的问题

实验: 实现mysql的主主同步

server1                            

IP192.168.1.132

server2

IP:192.168.1.133

首先修改配置文件  /etc/my.cnf

server1

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

**************

log-bin=mysql-bin

server-id   = 1

log-slave-updates

slave-skip-errors=all

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=1

master-host     =   192.168.1.133

master-user     =   slave

master-password =   123456

master-port     = 3306

**************

server2:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

*********

log-bin=mysql-bin

server-id   = 2

log-slave-updates

slave-skip-errors=all

sync_binlog=1

auto_increment_increment=2

auto_increment_offset = 2  此处注意一下,不能和server1相同

master-host     =   192.168.1.132

master-user     =   slave

master-password =   1234569

master-port     = 3306

************    

第二步,授权用户

server1:服务器(1.132)

mysql>grant replication slave,file on *.* to 'slave'@'192.168.1.133' identified by '123456';

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

server2:服务器(1.133)

mysql>grant replication slave,file on *.* to 'slave'@'192.168.1.132' identified by '123456';

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

***** 也可以授权整个网段例如:grant replication slave,file on *.* to 'slave'@'192.168.1.%' identified by '123456';

分别在server1  server2 做登陆测试是否授权成功

第三步:

mysql> show slave status\G;

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

              Slave_IO_State: Waiting for master to send event   (如果显示这样,则说明可以从master同步数据,server1server2状态相同,则说明主主同步完成

                 Master_Host: 192.168.1.133

                 Master_User: slave

                 Master_Port: 3306

               Connect_Retry: 60

             Master_Log_File: mysql-bin.000008

         Read_Master_Log_Pos: 355291

              Relay_Log_File: mysqld-relay-bin.000013

               Relay_Log_Pos: 339464

       Relay_Master_Log_File: mysql-bin.000008

            Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

             Replicate_Do_DB:

         Replicate_Ignore_DB:

          Replicate_Do_Table:

      Replicate_Ignore_Table:

     Replicate_Wild_Do_Table:

 Replicate_Wild_Ignore_Table:

                  Last_Errno: 0

                  Last_Error:

                Skip_Counter: 0

         Exec_Master_Log_Pos: 355291

             Relay_Log_Space: 339765

             Until_Condition: None

              Until_Log_File:

               Until_Log_Pos: 0

          Master_SSL_Allowed: No

          Master_SSL_CA_File:

          Master_SSL_CA_Path:

             Master_SSL_Cert:

           Master_SSL_Cipher:

              Master_SSL_Key:

       Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

               Last_IO_Errno: 0

               Last_IO_Error:

              Last_SQL_Errno: 0

              Last_SQL_Error:

过程中的报错:

wKiom1LiGZ_QfMWgAATcm7WK4bU166.jpg

也可查看日志:找到报错信息  /var/log/mysqld.log    server2无法链接server1

140124  5:23:53 [ERROR] Slave I/O: error reconnecting to master '[email protected]:3306' - retry-time: 60  retries: 86400, Error_code: 2013

解决方法:

server1 执行

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000005 |   408516 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

server2上面执行:

mysql> slave stop;  从备份停止

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> reset slave;  重置

Query OK, 0 rows affected (0.06 sec)

mysql>change master to master_host='192.168.1.132',master_user='slave',master_password='123456',master_log_file='mysql-bin.000005',master_log_pos=408516,master_port=3306;

Query OK, 0 rows affected (0.06 sec)

master_log_file='mysql-bin.000005',master_log_pos=408516  master 状态保持一直

重启mysql> show slave status\G;

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

              Slave_IO_State: Waiting for master to send event   成功

                 Master_Host: 192.168.1.132

                 Master_User: slave

                 Master_Port: 3306

               Connect_Retry: 60

             Master_Log_File: mysql-bin.000005

         Read_Master_Log_Pos: 429423

              Relay_Log_File: mysqld-relay-bin.000003

               Relay_Log_Pos: 251

       Relay_Master_Log_File: mysql-bin.000005

            Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

             Replicate_Do_DB: mysql


你可能感兴趣的:(mysql,配置文件,server1)