在查看手册的时候,无意中看到有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"的记录。