码迷,mamicode.com
首页 > 数据库 > 详细

怎么单向同步两linux服务器上的MYSQL数据库

时间:2015-04-18 19:01:05      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

因为工作需要,所以就慢慢配置两台Linux服务器上面的MYSQL数据库,实现单向数据库的同步,同步数据库的条件是:

(1)两服务器上的数据库的名字要相同。(2)数据库的表的结构要相同,不同一个数据库多一张表,一个数据库少一张表。(3)只能高版本的数据库同步低版本的数据库,因为mysql是向下兼容的。所以,主服务器master是低版本的,从服务器slave是高版本的。

假设数据库名为test,数据库的用户为root,密码为123456,则进行同步配置如下:

一,先配置主服务器master:

1,找到mysql的配置围巾my.cnf,不同的linux版本my.cnf的存放位置都不同,这点得注意。

2,找到[mydqld],在里面添加如下:

server-id=1

log-bin=mysql-bin

binlog-do-db=test

保存退出,登录数据库,查看是否起作用,在数据库下面输入命令show master status

+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| mysql-bin.000064 | 1813 |            test |
+------------------+----------+-------------------+------------------+

如上所示,把File,Position,Binlog_Do_DB三个选项的复制好,待会要用到。

二,配置从服务器slave

1,同样是先找到my.cnf,用vim打开my.cnf

2,在my.cnf的mysqld下面配置如下:

server-id=2

replicate-do-db=test

保存退出,然后登录数据库,在数据库里面输入如下命令:

change master to master_host=‘IP‘,master_user=‘root‘,master_password=‘123456‘, master_log_file=‘mysql-bin.000064‘,master_log_pos=1813;

重启mysql,然后进入数据库里面输入如下命令查看:

show slave status\G;

如果出现这些就表明配置成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test

三,配置的注意事项

1,mysql5.1.版本之后,不能再使用master-host,master-user这些变量来配置slave了,否则会出错,只能使用这命令来配置:

change master to master_host=‘IP‘,master_user=‘root‘,master_password=‘123456‘, master_log_file=‘mysql-bin.000064‘,master_log_pos=1813;

这些我弄了几天终于搞清楚了。

2,配置之后必须重启。

3,同步是这样的,当master发生数据的增加,删除,改变的时候,slave都可以改变,但是slave的操作不影响master

4,File | Position | Binlog_Do_DB这三项都是随时同步改变的。

 

怎么单向同步两linux服务器上的MYSQL数据库

标签:

原文地址:http://www.cnblogs.com/listentothecloud20150215/p/4437757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!