现在有2个MySQL数据库服务器(或者更多),在不同的地理位置,它们之间的数据库内容要求保持一致,这个时候,就需要用到MYSQL的数据库复制技术了。
今天对着书上实战了一遍,测试环境如下:
主服务器 Master:
WIN2000 Server,mysql-4.1.10-win32,IP:192.168.3.9
从服务器 Slave:
WIN2000 Server,mysql-4.1.10-win32,IP:192.168.3.66
首先需要配置好主服务器
打开my.ini,编辑里面的[mysqld]这一段
[mysqld]
server-id = 9999 #9999可以任意指定,但需是唯一值
log-bin = binary_log #开启主服务器的二进制日志,必须项
配置好之后,重启主服务器
接着就是配置从服务器了,仍然是修改my.ini中的[mysqld]
[mysqld]
server-id = 7
master-host = 192.168.3.9
master-user = muser
master-password = mpassword
Slave机上的server-id必须和Master上的server-id不同,其中的muser和mpassword是主数据库服务
器建立的用户名及口令,需保证此用户具有复制权限
GRANT REPLICATION SLAVE ON *.* TO muser@% IDENTIFIED BY 'mpassword';
如果默认的端品不是3306,则需要指定它
master-port = 3306
设置好之后,重启从服务器
下面开始更新数据了,进入从服务器的MYSQL控制台:
mysql> START SLAVE; #开始复制
mysql> STOP SLAVE; #停止复制
但我使用STRAT SLAVE之后却总是Query OK, 0 rows effected.
而当我在主服务器更改数据时,更改的数据会自动反应到从服务器中,删除表也同样,
还需要有待进一步地了解。