Centos5.4和Windows server 2003的MySQL主从同步配置

前言:最近公司更换服务器使用的是centos5.4系统,因为在win2003上有个用于添加信息的mysql数据库,想让这些信息自动的同步到centos5.4的数据库上,所以在网上查了很多资料,经过总结分析,终于配置成功。
1. 配置环境
主机(Master):Windows server 2003,  IP:192.168.1.3, MySQL版本:5.0.67(可在mysql客户端上用status命令查看)
从机(Slave):Centos 5.4 ,IP:192.168.1.199,Mysql版本:5.0.90(可在shell下用mysql  -V查看)
2. 分别登录 master 机和 slave 机的 mysql mysql �Cu root �Cp
创建数据库: create database test;
3. 分别修改master和slave的配置文件my.ini和my.cnf
3.1 修改my.ini
在[mysqld]下添加,
log-bin=E:/MySQL/MySQL Server 5.0/logs/mysql-bin     
# 这是我的二进制日志路径很重要,如果没有logs文件夹可以自己建立
server-id=1                                                                                   #这是主服务器进程
binlog-do-db=test                                                                   
 #要同步的数据库,如果没有本行,即表示同步所有的数据库
然后 master机上为slave机添加一同步帐号
grant replication slave on *.* to 'repl'@'192.1681.199' identified by '123456';
重启 master 机的 mysql服务
3.2修改my.cnf
把默认的log-bin=mysql-bin,server-id=1注释掉(前面加#)
[mysqld]字段下添加如下内容 
server-id=2
master-host=192.168.1.3
master-user=repl
master-password=123456(自己的密码)
master-port=3306
master-connect-retry=60
replicate-do-db=test
# replicate_ignore_table=test. sessions  可以忽略某个或某些表同步
注意:slave的log-bin就没有必要设置了(有人推荐设置),否则可能出现不必要的错误
配置好后,重启slave,然后mysql -uroot -p进入mysql
mysql>start slave;
mysql>show slave status\G;
如果 Slave_IO_Running Slave_SQL_Running 状态为 Yes 则表明设置成功。
4.可能出现的问题
当我在执行 start slave 这条命令时,系统提示
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
执行 show slave status; 又提示 Empty set (0.00 sec) ,想不通问题在哪里
后来发现,原来 slave 已经默认开启,要先关闭再开启
执行 slave stop;
再执行
change master to master_host='192.168.1.3',master_user='repl',master_password='123456', master_log_file='log.000001' ,master_log_pos=98;
然后执行 slave start;
或者有一些可能是repl的访问权限问题,在master机设置好repl账户后,最好在slave上测试一下,mysql -u relp -h 192.168.1.3 -p如果连接成功,就基本上没问题,若还有问题可以vi /var/log/mysqld.log查看,一些问题基本能反映出来
 

 

你可能感兴趣的:(linux,mysql,windows,centos,同步复制)