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