mysql数据同步设置

发表于:2007-07-02来源:作者:点击数: 标签:
使用的mysql版本:mysql4.0.X master: 192.168.1.102 slave: 192.168.1.109 如果是win机子修改c:\winnt\my.ini 如果是 linux 的机子请修改 /etc/my.cnf 一、master操作 1、修改my.ini ############## server-id=1 log-bin=c:\mysql\logs\mysql_binary_log bin
使用的mysql版本:mysql4.0.X

master: 192.168.1.102
slave: 192.168.1.109

如果是win机子修改c:\winnt\my.ini 如果是linux的机子请修改 /etc/my.cnf

一、master操作
1、修改my.ini
##############
server-id=1
log-bin=c:\mysql\logs\mysql_binary_log
binlog-do-db=test
binlog-ignore-db=mysql
##############

说明
binlog-do-db=test 允许同步的数据库
binlog-ignore-db=mysql 不允许同步的数据库

2、然后重启mysql
c:\mysql\bin\mysql restart 或 /etc/init.d/mysql restart

3、在master上增加一个同步的用户名
mysql> GRANT REPLICATION SLAVE ON *.* TO @#backup@#@@#%@# IDENTIFIED BY @#123456@#;
注:
如果mysql版本在4.0.2以前的版本请用
mysql> GRANT FILE ON *.* TO @#backup@#@@#%@# IDENTIFIED BY @#123456@#;

4、接下来操作要master上要同步的数据库
mysql> USE test;
mysql> FLUSH TABLES WITH READ LOCK; #锁定要同步的test表,然后导出数据结构


执行如下命令查看master的状态
mysql> SHOW MASTER STATUS;

得到如下结果
Code:
+----------------------+----------+--------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+----------------------+----------+--------------+------------------+
| mysql_binary_log.025 | 796947 | test | mysql |
+----------------------+----------+--------------+------------------+
1 row in set (0.00 sec)


接下来备份要同步数据库(为导入slave作准备)
$ mysqldump --opt test > test.sql


mysql> UNLOCK TABLES; #已做好同步数据库结构导出后,解锁这个表

二、slave操作
1、把master里导出的同步数据库结构再导入slave的mysql里
mysql tes < test.sql

2、修改slave的my.ini
####################
log-bin=c:\mysql\logs\mysql_binary_log
server-id=2
master-host=192.168.1.102
master-user=backup
master-password=123456
master-connect-retry=60
replicate-do-db=test
####################


说明:
master-host=192.168.1.102 #master的IP
master-user=backup #master上作为同步用的用户名
master-password=123456 #同步用户名的密码
master-connect-retry=60 #设置同步的时间
replicate-do-db=test #需要同步的数据库

3、重新启用mysql
c:\mysql\bin\mysql restart 或 /etc/init.d/mysql restart

[1]    

原文转自:http://www.ltesting.net