mysql表锁行锁和分页锁(MySQL 不停机不锁表主从搭建)
mysql表锁行锁和分页锁
MySQL 不停机不锁表主从搭建
MySQL主从搭建分几种场景
- 无业务数据,初始化搭建
- 有业务数据,临时扩展
初始化的搭建很简单,不涉及数据业务,所以锁表、停机等都不影响,但是更多时候是业务到一定阶段,才会涉及到横向扩展,需要做主从,读写分离等来提升服务性能
这个时候,数据业务不能中断,又需要快速进行扩展提升性能,只能在不停机、不停服务的情况下扩展,就需要用到下面介绍的这种方法来做数据库主从
当然还是有前提条件,如果你原本MySQL连binlog及server_id都这种基础配置都没做,那也谈不上不停机配置主从
原理
不停机实现主从搭建的关键点就是以下两个参数:
- --single-transaction
- --master-data
master-data参数主要用来记录主库的binlog_file和pos,它有两个值,分别是:
1:在mysqldump过程中,将binlogfile和pos信息记录在sql中,并且不是以注释信息的方式记录,这样在执行导入的时候自动执行这部分信息
2:在mysqldump过程中,将binlogfile和pos信息以注释的方式记录在sql中
single-transaction参数则是通过提交单一事务来确保数据一致性,通过在FLUSH TABLES WITH READ LOCK 后添加START TRANSACTION 语句,开启单一事务,此时加锁,仅仅是为了获取准确的master-data中的binlogfile和pos信息,在开启事务后,锁已经释放了,所以对业务影响很小
通过以上两个参数,可以在不长时间锁表的情况下获取准确的binlogfile和pos信息,从而完成主从配置
实战
导出数据
从主库通过mysqldump导出数据
- mysqldump -uroot -ppassword --single-transaction --master-data=2 --databases db1 db2 xxx > databases.sql
打包压缩
- tar -zcvf databases.sql.tar.gz databases.sql
复制到从库
- scp databases.sql.tar.gz root@slave_ip:/data/sql/
后面的操作在从库进行
解压
- tar -zxvf databases.sql.tar.gz
导入数据
- source /path_to/databases.sql.tar.gz
配置主从同步参数
- change master to master_host='ip',master_user='slave',master_port=port,master_password='password',master_log_file='mysql-bin.file',master_log_pos=POS;
其中master_log_file和master_log_pos就是上面通过master-data=2参数导出的,在sql文件里面开头部分
启动slave同步
- start slave;
查看同步状态
- show slave status\G;
通过这种方法,可以在不停止业务的情况下,保证数据一致性的同时,快速扩展从库
原文链接:https://mp.weixin.qq.com/s/AOmFBZm0YYfnvDHd58tikg
- mysql 慢查询排查方法(MYSQL慢查询和日志实例讲解)
- 如何在cmd里开启mysql(Windows下通过cmd进入DOS窗口访问MySQL数据库)
- mysql索引的比较规则(MySQL的Flush-List和脏页的落盘机制)
- mysql的日志怎么清除(MySQL删除了记录不生效的原因排查)
- oracle如何用脚本文件创建表空间(MySQL版oracle下scott用户建表语句实例)
- mysql索引优化有哪些(MySQL如何基于Explain关键字优化索引功能)
- mysqldump属于哪种备份(MySQLDump的备份小技巧)
- mysql显示所有数据库语句(MySQL数据库自动补全命令的三种方法)
- mysql并发控制的重要方式(Mysql服务添加 iptables防火墙策略的方案)
- mysql中如何设置多个主键(Mysql 增加主键或者修改主键的sql语句操作)
- 最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)(最新版MySQL 8.0.22下载安装超详细教程Windows 64位)
- mysql备份工具怎么选(MySQL使用Xtrabackup备份流程详解)
- win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法(win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法)
- mysql 查询语法常见问题(MySQL 异常有这一篇就够了!)
- mysql拆分成多行(mysql单字段多值分割和合并的处理方法)
- 宝塔mysql怎么设置优化(宝塔面板mysql内存占用高如何优化)
- 相声转行影帝,被何晴抛弃,甩10年女友闪婚生子,刘威不靠谱情史(相声转行影帝被何晴抛弃)
- 岳云鹏不说相声,改行演员了 网友 快回来说相声(岳云鹏不说相声)
- 乔欣首演古装大女主,颜值演技双在线(乔欣首演古装大女主)
- 于正又推女性古装大剧 杨蓉乔欣演女配,两位女主成 重头戏(于正又推女性古装大剧)
- 乔欣古装女主戏获热度 作为女主,却没吃到红利(乔欣古装女主戏获热度)
- 爱情是什么(爱情是什么最经典的话)
热门推荐
- phpcurl详解(解决PHP curl或file_get_contents下载图片损坏或无法打开的问题)
- phplaravel一般开发什么项目(laravel 去掉index.php伪静态的操作方法)
- iframe向子页面发送消息(使用postMessage让 iframe自适应高度的方法示例)
- linux命令du和df的区别(Linux系统目录大小通过du命令获取实例)
- dedecms用什么来调用文章描述(织梦DEDECMS文档关键词频率不能修改的解决方法)
- HTML5离线缓存
- 为什么dede主页加载不出来(dede中第一次登陆密码错误的解决方法)
- serv-u服务器安装(Serv-U搭建FTP服务器教程之建立登录用户和密码)
- SQL Server中时间类型的范围
- xml特殊字符的处理
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9