mysql 主从复制部署
2016-10-09 09:40
267 查看
数据库环境准备:
1)具备单机单数据库多实例的环境
2)或两台服务器,每个机器一个数据库的环境
1.安装mysql,并启用bin-log
2.建立用于从库复制的账号rep
//////////////////////////////////////////
grant replication slave on *.* to 'rep'@'192.168.56.%' identified by 'mysql';
flush privileges;
//////////////////////////////////////////
# replication slave 为mysql同步的必须权限,此处不要授权all;
# *.* 表示所有库的所有表,你也可以指定的库和表进行复制
3.锁表(当前窗口不要关掉);
/////////////////
flush table with read lock
/////////////////
--这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。
--这时候写操作将被阻塞,读操作顺利进行。
--解锁:unlock tables;
提示:这个锁表命令的时间,在不同的引擎的情况,会受下面参数的控制,锁表时,
如果超过设置时间不操作会自动解锁
interactive_timeout=60
wait_timeout=60
默认情况下时长为:
show variables like '%timeout%';
4.备份数据
///////////////////////////////
mysqldump -uroot -proot -S /data/mysqldb/mysql.sock -A -B -R --events|gzip >/soft/rep.sql.gz
mysqldump -uroot -proot -S /data/mysqldb/mysql.sock -A -B -R --events --master-data=2 >/soft/rep.sql
/////////////////////////////
#注 -A 表示备份所有库 -B 表示增加use DB 和 drop等(导库时会直接覆盖原有的)
为了确保导库期间,数据库没有数据插入,可以再查下主库状态信息
mysql -uroot -proot -S /data/mysqldb/mysql.sock -e "show master status"
无特殊情况,binlog文件及位置点是保持不变的
show master status;
show master logs;
导库后,解锁主库,恢复可写:
//////////////////
unlock tables;
//////////////////
5.把主库导出的数据迁移到从库
mysql -uroot -proot -S /data/mysqldb/mysql.sock </soft/rep.sql
mysql自动批量制作主从同步需要的语句。
mysql -uroot -proot -S /data/mysqldb/mysql.sock<<EOF
change master to
master_host='192.168.56.20',
master_port=3306,
master_user='rep',
master_password='mysql',
master_log_file='mysql-bin.000001',
master_log_pos=628;
EOF
6.从库启动同步
start slave;
show slave status \G
1)具备单机单数据库多实例的环境
2)或两台服务器,每个机器一个数据库的环境
1.安装mysql,并启用bin-log
2.建立用于从库复制的账号rep
//////////////////////////////////////////
grant replication slave on *.* to 'rep'@'192.168.56.%' identified by 'mysql';
flush privileges;
//////////////////////////////////////////
# replication slave 为mysql同步的必须权限,此处不要授权all;
# *.* 表示所有库的所有表,你也可以指定的库和表进行复制
3.锁表(当前窗口不要关掉);
/////////////////
flush table with read lock
/////////////////
--这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。
--这时候写操作将被阻塞,读操作顺利进行。
--解锁:unlock tables;
提示:这个锁表命令的时间,在不同的引擎的情况,会受下面参数的控制,锁表时,
如果超过设置时间不操作会自动解锁
interactive_timeout=60
wait_timeout=60
默认情况下时长为:
show variables like '%timeout%';
4.备份数据
///////////////////////////////
mysqldump -uroot -proot -S /data/mysqldb/mysql.sock -A -B -R --events|gzip >/soft/rep.sql.gz
mysqldump -uroot -proot -S /data/mysqldb/mysql.sock -A -B -R --events --master-data=2 >/soft/rep.sql
/////////////////////////////
#注 -A 表示备份所有库 -B 表示增加use DB 和 drop等(导库时会直接覆盖原有的)
为了确保导库期间,数据库没有数据插入,可以再查下主库状态信息
mysql -uroot -proot -S /data/mysqldb/mysql.sock -e "show master status"
无特殊情况,binlog文件及位置点是保持不变的
show master status;
show master logs;
导库后,解锁主库,恢复可写:
//////////////////
unlock tables;
//////////////////
5.把主库导出的数据迁移到从库
mysql -uroot -proot -S /data/mysqldb/mysql.sock </soft/rep.sql
mysql自动批量制作主从同步需要的语句。
mysql -uroot -proot -S /data/mysqldb/mysql.sock<<EOF
change master to
master_host='192.168.56.20',
master_port=3306,
master_user='rep',
master_password='mysql',
master_log_file='mysql-bin.000001',
master_log_pos=628;
EOF
6.从库启动同步
start slave;
show slave status \G
相关文章推荐
- 用xtrabackup实现mysql的主从复制快速部署【主不锁表】
- Ansible-playbook自动部署mysql的主从复制读写分离
- Centos6上进行Mysql5.6安装和主从复制部署
- mysql 主从复制简单部署过程
- mysql主从复制环境部署
- Mysql DBA 高级运维学习笔记-Mysql主从复制原理及实战部署
- mysql快速部署主从复制
- MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现
- MySQL主从复制部署(windows)
- MYSQL主从复制部署流程
- MySQL主从复制实践与部署
- MySQL主从复制详细部署过程
- MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现
- MySQL 主从复制 + MySQL Router 部署测试
- centos7下部署mysql主从复制
- 一步一图搭建-分布式服务器部署之mysql集群-主从复制与读写分离
- MySQL主从复制部署
- MySQL 主从复制 + MySQL Router 部署测试 推荐
- 5分钟了解与部署mariaDB(mysql)主从复制
- mysql系列之复制2----主从同步部署