主从复制:
环境准备:
两台机器一主一从
主库:
ip为192.168.111.136
port为3306
从库:
ip为192.168.111.137
port为3306
主库配置:
1)配置server-id值并开启binlog参数
打开/etc/my.cnf.d/mysql-server.cnf配置
设置log_bin = mysql-bin
server_id = 120
重启数据库
2)建立同步账号
mysql> creart user 'root'@'192.168.111.%' identified with mysql_native_password by '#openLAB123';
mysql> grant replication slave on *.* to 'root'@'192.168.111.%';
# 建立账号并设置权限
3)锁表设置只读
mysql> flush tables with read lock;
mysql> show variables like '%timeout%';
# 测试锁表后是否可以创建数据库
4)查看主库状态
mysql> show master status;
5)备份数据库数据
# mysqldump -uroot -p -A -B | gzip > /server/backup/mysql_bak.$(date +%F).sql.gz
6)解锁
mysql> unlock tables;
7)主库备份数据上传到库
# scp /server/backup/mysql_bak.2015-11-18.sql.gz 192.168.111.137:/server/backup/
从库上设置:
1)设置server-id值并关闭binlog参数
server_id = 130
重启数据库;
2)还原从主库备份数据
# cd /server/backup/
# gzip -d mysql_bak.2015-11.18.sql.gz
# mysql -uroot -p < mysql_bak.2015-11-18.sql
检查还原:
# mysql -uroot -p -e 'show databases;'
3) 设定从主库同步
mysql> change master to MASTER_HOST='192.168.111.130‘,MASTER_PORT=3306, MASTER_USER='root', MASTER_PASSWORD='#openLAB123', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=1355;
4)启动从库同步开关:
mysql> start slave;
检查状态
mysql> No query specified
检验:
主库:
从库: