今天用到的了这块儿的内容,服务器之间做数据同步,准备两台服务器,一台做Master,一台slave。
服务器环境:Ubuntu 10.04 64位 Server;
确保两台服务器的MYSQL版本一致,需要同步的库等一致;

一、设置Master服务器:
1,编辑Mysql配置文件

vi /etc/mysql/my.cnf

2,打开后,在 [mysqld]加入以下信息:

[mysqld]
log-bin=mysql-bin   //启用二进制日志
server-id=71        //服务器唯一ID

3,重启Mysql:

/etc/init.d/mysql restart

4,登录Mysql,创建slave同步账户:

GRANT REPLICATION SLAVE ON *.* to 'backuser'@'192.168.1.190' identified by 'backuserpwd'; 
flush privileges; 

@后面的IP为指定的备份服务器IP,安全起见只允许该IP连接。
5,查看主服务器Master状态

show master status;

记住查询到的值:
[备忘]mysql Master Slave主从同步(复制)配置及常见问题

二、配置slave从服务器
前三步配置跟Master的一样:
1,编辑Mysql配置文件

vi /etc/mysql/my.cnf

2,打开后,在 [mysqld]加入以下信息:

[mysqld]
log-bin=mysql-bin   //启用二进制日志
server-id=72       //服务器唯一ID,这里的ID跟Master的不能相同,

3,重启Mysql:

/etc/init.d/mysql restart

4,更改slave信息:

change master to master_host='192.168.1.193',master_user='backuser',master_password='backuserpwd',master_log_file='mysql-bin.000006',master_log_pos=20555,Master_Port=3301;

上面语句中master_log_file='mysql-bin.000006',master_log_pos=20555为上一步记住的值,Master_Port的值默认是3306,一般可以不用跟上,修改过的就写上吧~
5,启动slave:

slave start;     //停止则为stop;

6,查看slave状态:

show slave status\G;

结果中以下两条为Yes则说明成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

接着在主服务器数据库中添加数据测试下吧~
本身挺简单的,我写得比较详细,一步一步列出来。

若无法连接数据库,切记检查配置文件中以下内容是否被注释掉,前加#:

bind-address        = 127.0.0.1

补充:

出现问题:

ERROR 1201 (HY000): Could not initialize master info structure; more error m

解决办法:

reset slave;

然后:

change master to master_host='192.168.1.193',master_user='backuser',master_password='backuserpwd',master_log_file='mysql-bin.000006',master_log_pos=20555,Master_Port=3301;

接着重新启动:

slave start;

即可OK,查看状态:

show slave status \G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes