采用全库复制的方案,方便管理mysql 5.5 + rhel5.8
10.4.11.12 master
10.4.11.13 slave
---Master端设置
1, 创建复制帐号,需要复制和slave权限
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'10.4.11.12 IDENTIFIED BY 'mysql;
Query OK, 0 rows affected (0.00 sec)
2, 修改参数,并重启生效
#skip-networking
server-id = 12
# Uncomment the following if you want to log updates
log-bin=mysql-bin
重启mysql
service mysql restart
---slave端的设置
3,slave库的参数设置,同样需要重启生效
vi /etc/my.cnf
#skip-networking
server-id = 13
# Uncomment the following if you want to log updates
log-bin=mysql-relay-bin
4,master导出数据到slave库
如果数据库使用的是MyISAM表类型的话,可按如下方式操作:
shell> mysqldump --all-databases --master-data=1 > data.sql
如果数据库使用的是InnoDB表类型的话,则应该使用single-transcation:
shell> mysqldump --all-databases --single-transaction --master-data=1 > data.sql
slave端导入数据
mysql < data.sql
5,查看master的配置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6,启动复制,slave端运行如下命令
mysql> show slave status/G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.251.11
Master_User: repl
Master_Port: 3306
新闻热点
疑难解答