您的位置:首页 > 数据库 > MySQL

Mysql 主从数据库同步详解

2013-04-08 17:40 706 查看

主服务器设置

1、创建一个复制用户,具有 replication slave 权限

mysql>grant replication slave on *.* to ‘repl’@’192.168.1.22′ identified by ‘repl’;

2、编辑主服务器my.cnf文件

Server-id=1  #主机标示,整数
log-bin= /var/log/mysql/mysql-bin.log #确保此文件可写
read-only =0 #主机,读写都可以
Binlog-do-db=test #需要备份数据,,可以有多个用“,”分开,比如test1,test2

Binlog-ignore-db=mysql #不需要备份的数据库

3、设置读锁

mysql>flush tables with read lock;

4、得到binlog日志文件名和偏移量

mysql>show master status;

5、备份要同步的数据库

mysqldump test > test.sql

6、解锁

mysql>unlock tables;




从服务器设置

1、编辑从服务器my.cnf文件

server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
master-host =192.168.1.100 #是主服务器的IP地址
master-user =slave #用于和主服务器同步数据的用户名,我们在配置主服务器已经添加了就是slave
master-pass =123456
master-port =3306 #主服务器的端口
master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db =test #只复制某个库
replicate-ignore-db=mysql #不复制某个库

2、启动从服务器slave线程

mysql>start slave;

3、验证

在主机A中,mysql>show master status\G;
在从机B中,mysql>show slave status\G;

看到大致这些内容

File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: