网上有很多关于pos机终端已锁,MySQL 不停机不锁表主从搭建的机建知识,也有很多人为大家解答关于pos机终端已锁的终端问题,今天乐刷官方代理商(www.zypos.cn)为大家整理了关于这方面的已锁知识,让我们一起来看下吧!
1、不不锁表主pos机终端已锁
MySQL主从搭建分几种场景
无业务数据,停机初始化搭建有业务数据,从搭临时扩展初始化的机建搭建很简单,不涉及数据业务,终端所以锁表、已锁停机等都不影响,不不锁表主但是停机更多时候是业务到一定阶段,才会涉及到横向扩展,从搭需要做主从,机建读写分离等来提升服务性能
这个时候,终端数据业务不能中断,已锁又需要快速进行扩展提升性能,只能在不停机、不停服务的情况下扩展,就需要用到下面介绍的这种方法来做数据库主从
当然还是有前提条件,如果你原本MySQL连binlog及server_id都这种基础配置都没做,那也谈不上不停机配置主从
原理
不停机实现主从搭建的关键点就是以下两个参数:
--single-transaction--master-datamaster-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;
通过这种方法,可以在不停止业务的情况下,保证数据一致性的同时,快速扩展从库
当然也有其他的方式,比如通过xtrbackup 的方式
本文转载于 微信公众号 运维研习社
以上就是关于pos机终端已锁,MySQL 不停机不锁表主从搭建的知识,后面我们会继续为大家整理关于pos机终端已锁的知识,希望能够帮助到大家!
相关文章: