Mysql5.5.9版本主从同步配置方法

主服务器IP:1.1.1.21

从服务器IP:1.1.1.22

注:此文档只描述主à从 的同步,而不是互备。如需要达到互备效果,而在操作完整个文档内容后,执行下面两步即可:

1. 在从机上执行:mysql> grant replication slave on *.* to [email protected] identified by 'password';

2. 在主机上执行:start slave

开始配置主从服务器:

主服务器配置:

主服务器上的配置和低版本的配置方式一样,只需要在配置文件中开启二进制日志文件和设置server-id=1。

编辑mysql配置文件/etc/my.cnf,在[mysqld]部分加入:

server-id=1

log-bin=mysql-bin

在主服务器上建立一个从服务器进行复制使用的账户(用户名:root;密码:longmaster):

mysql> grant replication slave on *.* [email protected] identified by 'password';

mysql> flush privileges;

重启mysql服务

Service mysqld restart

从服务器配置:

Mysql5.1.7版本以后已经不支持把master配置属性写在my.cnf文件中了,只能把需要同步的数据库和需要忽略的数据库加入。

编辑从服务器的mysql配置文件/etc/my.cnf,在[mysqld]部分加入:

server-id=2

log-bin=mysql-bin

replicate-do-db=db_name #这两条最好加在结尾[需要同步的数据库]

replicate-ignore-db=db_name #这两条最好加在结尾[不需要同步的库]

重启mysql服务。

进入mysql命令行,停止从服务器线程并执行mysql命令,然后再启动从服务器线程:

mysql> stop slave;

Query OK, 0 rowsaffected (0.01 sec)

mysql> change master to

-> master_host='1.1.1.21',

-> master_user='root',

-> master_password='password';

Query OK, 0 rowsaffected (0.01 sec)

mysql> start slave;

从服务器上检查复制进程是否正确:

mysql> show slave status\G;

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

Slave_IO_State: Waiting formaster to send event

Master_Host: 1.1.1.21

Master_User: you

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master-bin.000001

Read_Master_Log_Pos: 107

Relay_Log_File:localhost-relay-bin.000002

Relay_Log_Pos: 254

Relay_Master_Log_File:master-bin.000001

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: y1

Replicate_Ignore_DB: y2

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: 107

Relay_Log_Space: 414

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:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

1 row in set (0.00 sec)

ERROR:

No query specified

上面出现: Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 表示复制正常,如果有一个显示是NO,请检查以上的主从设置步骤是否正确。如果出现复制错误,从服务器的错误日志中也会出现错误消息。


你可能感兴趣的:(mysql5)