yum安装mysql
yum install mysql mysql-server mysql-devel -y
在主服务器上授权一个复制用户
grant replication slave, replication client on *.* to repl@'%' identified by '123456';
在master和slave上创建不同的server_id
master:
[mysqld]
server_id=1
slave:
[mysqld]
server_id=2
在master上配置bin-log
master:
[mysqld]
log-bin=master-bin
在slave上配置relay-log
slave:
[mysqld]
relay-log=relay-bin
在master上执行export导出数据
mysqldump --single-transaction --master-data=2 <数据库的名字> > backup.sql
关于master-data为什么要设置为2,可以参考这篇文章: http://blog.youkuaiyun.com/seteor/article/details/17263509
在从库上恢复主库导出的文件
注意backup.sql里面是没有创建数据库和选择数据库的命令的, 可能需要你手动调整。
mysql < backup.sql
在从库上执行change master,其中log_file和log_pos两个参数需要参考backup.sql或者在主上面执行show master status查看参数
CHANGE MASTER TO \
MASTER_HOST='172.17.0.2', \
MASTER_PORT=3306, \
MASTER_USER='repl', \
MASTER_PASSWORD='123456', \
MASTER_LOG_FILE='master-bin.000001', \
MASTER_LOG_POS=554 \
;
在从库上执行start slave
start slave;
在从库上执行show slave status状态:
show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes