MySQL数据库复制配置

    关于MySQL Replication的网络上很多,这里留个记录,免得自己找。下面这个例子是主备(单向复制)的配置,如果要做互为主备(双向复制)的配置,在主机(Master)中添加备机(Slave)的配置,备机中添加主机的配置即可。

1. 在数据库备份机器上安装系统自带的mysql数据库。
 
2. 在主数据库中导出数据
[root@as-1 conf]# mysqldump -uroot -ppassword  –databases m0 m1 > all.sql
 
3. 将allpoc.sql传到备机中,并导入到备份机中
[root@AS-10 ~]# mysql -uroot -ppassword  < all.sql
 
4. 在主备机中创建数据库同步的用户(这里的用户名是repl,密码是repluserpassword)
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'%' IDENTIFIED BY 'repluserpassword';
 
5. 设置主机的mysql配置文件
   编辑 /etc/my.cnf , 在[mysqld] 后添加如下设置:
log-bin = mysql-bin
server-id = 10
 
   注意server_id是必须的,而且唯一。然后重启数据库,并执行 SHOW MASTER STATUS 命令,将看到如下输出:
mysql> SHOW MASTER STATUS;
+——————+———-+————–+——————+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001 |       98 |              |                  | 
+——————+———-+————–+——————+
1 row in set (0.00 sec)
 
6. 设置备机的mysql配置文件
   编辑 /etc/my.cnf , 在[mysqld] 后添加如下设置:
log_bin = mysql-bin
server_id = 12
relay_log = mysql-relay-bin
log_slave_updates = 1
read_only = 1
slave-skip-errors = all
master-host = 10.56.249.233  #主服务器IP地址
master-user = repl  #同步账户名
master-password = repluserpassword #同步帐户密码
master-port = 3306 #主服务器的 TCP/IP 端口号,默认是3306
replicate-wild-do-table = db_pocm0.%
replicate-wild-do-table = db_pocm1.%
 
   注意server_id是必须的,而且唯一的。然后重启数据库,并执行 SHOW SLAVE STATUS 命令,如果看到的输出信息中Slave_IO_Running和Slave_SQL_Running的值为Yes,则表示配置成功。
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

机器人检查 *