在查看手册的时候,无意中看到有Replication in MySQL这么一章,列出了一个版本的表。
Master | Master | Master | Master | ||
3.23.33 and up | 4.0.0 | 4.0.1 | 4.0.2 | ||
Slave | 3.23.33 and up | yes | no | no | no |
Slave | 4.0.0 | no | yes | no | no |
Slave | 4.0.1 | yes | no | yes | no |
Slave | 4.0.2 | yes | no | no | yes |
嘿嘿!我的mysql是mysql-3.23.58,完全符合啊。
做法很简单,先在master上建个用户
GRANT FILE ON *.* TO repl@"%" IDENTIFIED BY '1234567';
然后shutdown master,把var目录用tar弄到slave上去。
改master的my.cnf文件,我是这样写的(实际上,除binlog-ignore-db这一部分外,别的都是my.cnf中原先就有的)
[mysqld]
log-bin = /var/log/mysql_replication.log
server-id = 1
binlog-ignore-db=mysql
然后启master。
在slave上做这样的配置
[mysqld]
log-bin = /var/log/mysql_replication.log
master-host =192.168.0.31
master-user =repl
master-password =1234567
master-port =3306
server-id =2
启slave的mysqld,就可以测试了。
我在master的test库做
CREATE TABLE T_ACCOUNT(name varchar(20));
INSERT INTO T_ACCOUNT VALUES('ok');
然后就可以在slave上看到test库多了个T_ACCOUNT的表,其中有条"ok"的记录。