多服务器MYSQL数据同步
来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:42 点击:次
两台服务器
A:192.168.1.1
B:192.168.1.2
A(master)作为主服务器 为 B(slave)提供同步服务。
www.2cto.com
关闭A,B服务器的数据库,将服务器A的数据库导出至B服务器上,保证A,B服务器上要同步的数据库结构相同;
1、修改A服务器的配置文件my.cnf(win 服务器为 my.ini)
#skip-networking #注释掉 因为它是屏蔽掉一切TCP/IP连接
server-id=1
log-bin
binlog-do-db=backup_db #提供数据同步服务的数据库
set-variable=binlog-ignore-db=mysql #不记录数据库mysql的更新日志
2、在A服务器上增加一个账号专门用于同步,如下:
# /usr/local/mysql/bin/mysql -h192.168.1.1 -uroot -p*****
mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO name@192.168.1.2 IDENTIFIED BY 'pw';
3、在B服务器, 修改配置文件my.cnf(win 服务器为 my.ini)
server-id=2 #不能与A配置相同
master-host=192.168.1.1 #主机A的地址
master-user=name #主机A提供给B的用户,该用户中需要包括数据库backup_db的权限
master-password=pw #访问密码 www.2cto.com
master-port=3306 #端口,主机的MYSQL端口
master-connect-retry=60 #重试间隔60秒
set-variable=replicate-ignore-db=mysql #略过同步的数据库名,如果有多个,请设置多次
set-variable=replicate-do-db=backup_db #想要同步的数据库名,如果有多个,请设置多次
4、在Slave上检验一下是否能正确连接到Master上,并且具备相应的权限。
# /usr/local/mysql/bin/mysql -h192.168.1.1 -uname -ppw
mysql>SHOW GRANTS;
+----------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for name@192.168.1.2 |
+----------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'name@192.168.1.2' IDENTIFIED BY PASSWORD '*4498909FB5F32638296EFBA1886F56599F142787' |
+----------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.53 sec)
mysql>
5、启动Slave,登录Slave,查看一下同步状态:
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>