MySQL主从复制配置案例

2014-11-24 17:12:26 · 作者: · 浏览: 0

一份MySQL主从复制配置案例,环境为主库是111.111.111.110 从库为111.111.111.111。


1. 主库创建数据库复制专用用户


--在主库上执行,创建用户repl


mysql –uroot


grant replication slave,replication client on *.* to repl@'111.111.111.%' identified by 'repl';


exit;


--修改配置文件/etc/my.cnf


cp /etc/my.cnf /etc/my.cnf.bak


vi /etc/my.cnf


修改主库参数如下


[mysqld]


datadir=/var/lib/mysql


socket=/var/lib/mysql/mysql.sock


user=mysql


log-bin=mysql-bin


old_passwords=1


server_id = 110


sync_binlog = 1


relay_log = /var/lib/mysql/mysql-relay-bin


# enable log_slave_updates


log_slave_updates = 1


skip_slave_start


[mysqld_safe]


log-error=/var/log/mysqld.log


pid-file=/var/run/mysqld/mysqld.pid


2.关闭数据库


--在主库上执行


service mysqld stop


3.备份主库


--在主库上执行


tar zcvf /tmp/mysql.tar.gz /var/lib/mysql


4.将主库的备份传送到从库


--在主库上执行


rsync -auzvP --bwlimit=10240 /tmp/mysql.tar.gz 111.111.111.111: /tmp/mysql.tar.gz


rsync –auzvP --bwlimit=1024 /etc/my.cnf 111.111.111.111:/etc/my.cnf


5.在备库恢复主库的备份


--在备库执行


mv /var/lib/mysql /var/lib/mysqlbak


mv /tmp/mysql.tar.gz /var/lib/


tax xvf /var/lib/mysql.tar.gz


6.在备库修改配置文件/etc/my.cnf


--在备库执行


--修改配置文件/etc/my.cnf


vi /etc/my.cnf


修改参数如下


[mysqld]


server_id = 111


7.在备库启动数据库


--在备库执行


service mysqld start


8.在主库上启动数据库


service mysqld start


mysql –uroot –p


show master status;


9.根据上一步获取到的bin log文件名和position,在备库启用复制


--在备库执行(将命令master_log_file='mysql-bin.0000099',master_log_pos=5中的值mysql-bin.0000099和0 修改为上一步获取到的值)


change master to master_host='111.111.111.110',


master_user='repl',


master_password='repl',


master_log_file='mysql-bin.00000xx',


master_log_pos=0;


--启动复制进程


start slave;


show slave status\G


show processlist\G