LINUX|MySQL 手动主从同步不锁表
【LINUX|MySQL 手动主从同步不锁表】本文只能保证锁表时间不会太久
可能会出现从库需要跳过很多语句的情况
#备份主库
mysqldump --skip-lock-tables --single-transaction --flush-logs --hex-blob-uroot -pXXXX --master-data=https://www.it610.com/article/1 --opt -A>back.sql --skip-lock-tables 不锁表
--master-data=https://www.it610.com/article/2 在导出的时候同时生成binlog文件名和位置在导出的文件开头。这个很重要。因此第4步也不需要执行了,binlog的文件和位置可以从这里拿到。
--master-data=1 时 不注释change语句
--single-transaction 通过将导出操作封装在一个事务内来使得导出的数据是一个一致性快照#导入到从库
mysql> source /tmp/mysql.bak.sql#查看sql文件前100行 获得pos 和 file
head 100/tmp/mysql.bak.sql#设置从库的同步开始文件和开始位置
change master to master_host = '主库主机', master_user = '同步用户名', master_port=3306, master_password='', master_log_file = '第2步中获取的file', master_log_pos=第2步中获取的position;
mysql> start slave;
mysql> show slave status\G查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
推荐阅读
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- py连接mysql
- 2019-01-18Mysql中主机名的问题
- MySql数据库备份与恢复
- Linux|109 个实用 shell 脚本
- mysql|InnoDB数据页结构
- mysql中视图事务索引与权限管理
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程