環境爲主庫是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