MySQL 主从复制(master->slave)

[不指定 2009/09/08 14:45 | by ipaddr ]
1、在MASTER主机(192.168.128.132)上创建数据库mytest:

create database mytest;

然后配置my.cnf
在[mysqld]配置段添加如下字段中增加

log-bin=mysql-bin.log
binlog-do-db=mytest #要同步的数据库的名字
server-id=1

重启mysql

进入MySQL,然后同步账号:

mysql>grant replication slave on *.* to ‘replication’@'%’ identified by ‘aaa’;
mysql>show master status;

+——————+———-+————–+——————+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000008 |      106 | blog         |                  |
+——————+———-+————–+——————+

2、配置SLAVE数据库(192.168.128.130 and 192.168.128.133)

分别进入MySQL创建数据库
mysql>create database mytest; #建一个与主服务器的数据库名字相同的数据库
mysql>quit;

3、在两个SLAVE数据库的[mysqld]配置段添加如下字段中增加

# 192.168.128.130
server-id=2
master-host=192.168.128.132
master-user=replication
master-password=aaa
master-connect-retry=60
replicate-do-db=mytest

# 192.168.128.133
server-id=3
master-host=192.168.128.132
master-user=replication
master-password=aaa
master-connect-retry=60
replicate-do-db=mytest

3、分别重启两个SLAVE数据库

4、分别进入两个SLAVE数据库中

在SLAVE1上(192.168.128.130)

mysql> slave stop;
Query OK, 0 rows affected (0.00 sec)

mysql> CHANGE MASTER TO
-> MASTER_HOST=’192.168.128.132′,
-> MASTER_USER=’replication’,
-> MASTER_PASSWORD=’aaa’,
-> MASTER_LOG_FILE=’mysql-bin.000008′,
-> MASTER_LOG_POS=106;
Query OK, 0 rows affected (0.03 sec)

mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)

在SLAVE2上(192.168.128.133)

mysql> slave stop;
Query OK, 0 rows affected (0.00 sec)

mysql> CHANGE MASTER TO
-> MASTER_HOST=’192.168.128.132′,
-> MASTER_USER=’replication’,
-> MASTER_PASSWORD=’aaa’,
-> MASTER_LOG_FILE=’mysql-bin.000008′,
-> MASTER_LOG_POS=106;
Query OK, 0 rows affected (0.03 sec)

mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)

然后,随便在那个SLAVE上
mysql> show processlist;

+—-+————-+———–+——+———+——+———————————————————————–+——————+
| Id | User        | Host      | db   | Command | Time | State                                                                 | Info             |
+—-+————-+———–+——+———+——+———————————————————————–+——————+
|  3 | root        | localhost | NULL | Query   |    0 | NULL                                                                  | show processlist |
|  4 | system user |           | NULL | Connect |   13 | Waiting for master to send event                                      | NULL             |
|  5 | system user |           | NULL | Connect |   13 | Has read all relay log; waiting for the slave I/O thread to update it | NULL             |
+—-+————-+———–+——+———+——+———————————————————————–+——————+

以上信息表示同步成功!

4、同步测试过程
分别在主数据库上建立一个表,插入一条数据
在两个从数据库上看看是否更新
过程略。

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]