pt-table-checksum和pt-table-sync
环境:系统bsd,标准安装,ports安装的mysql。
主172.16.21.126
从172.16.21.128
vi /etc/rc.conf
添加 mysql_enable="YES"
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf
vi /etc/my.cnf
log-bin= mysql-bin #打开logbin选项以能写到slave的 I/O线程;
server-id=1 #表示是本机的序号为1,一般来讲就是master的意思.
binlog-do-db= lixl #表示同步lixl数据库;
grant replication slave on *.* to 'repl'@'172.16.21.128' identified by '123456';
flush privileges;
重启主库mysql:/usr/local/etc/rc.d/mysql-server restart
*********************************************************************************
vi /etc/rc.conf
添加 mysql_enable="YES"
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf
vi /etc/my.cnf
server-id=2 #表示是本机的序号为2.
replicate-do-db= lixl #表示被同步的lixl数据库;
重启从mysql
*********************************************************************************
主库上:show master status
从库上:
stop slave;
mysql>change master to master_host =
'172.16.21.126',master_user='repl',master_password='123456',,master_log_file='mysql-bin.000006',master_log_pos=98; //98
这不能加引号,要不然报错。
start slave;
show slave status\G
*********************************************************************************
被证实的问题,即便我数据库里面没有lixl,搭建的过程,slave本应该是yes的地方也不会报错。
repl这个账号只存在master主机上
*********************************************************************************
主库上操作:
在主库上创建lixl数据库
在lixl库下面创建xf表
create table xf (id int);
insert into xf values(1),(11),(2),(22),(3),(33),(4),(44),(5),(55);
**********************************************************************************
问题:如果我在主库上删除数据,从库上会不会也会减少? 答案:会的。 export
**********************************************************************************
从库上的操作:
delete from lixl.xf where id in (1,2,3,4,5);
**********************************************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
到目前为止:主从数据之间数据有差异了。
———————————————————————————————————————————
下面在主库上安装percona-tookit,我是在网上下载好的软件,然后传到master上去的。
1.解压 tar xf percona-toolkit-2.1.1.tar.gz
2.cd percona-toolkit-2.1.1
3.perl Makefile.PL 提示perl:command not found
4.cd /usr/ports/lang/perl5.12
5.make install clean
6.cd /usr/ports/databases/p5-DBD-mysql50 &&make install clean //不然报Warning: prerequisite DBD::mysql 3 not found.
7.perl Makefile.PL&&make&&make install
***********************************************************************************************************************
用pt-table-checksum 比较两台服务器之间数据的差异
**************************************************
ma# /usr/local/bin/pt-table-checksum --nocheck-replication-filters --replicate=lixl.checksums --databases=lixl --tables=xf
h=127.0.0.1,u=root,P=3306
Failed to SET SESSION innodb_lock_wait_timeout=1: DBD::mysql::db do failed: Unknown system variable
'innodb_lock_wait_timeout' [for Statement "SET SESSION innodb_lock_wait_timeout=1"] at /usr/local/bin/pt-table-checksum
line 6009.
The current innodb_lock_wait_timeout value 50 is greater than the --lock-wait-timeout value 1 and the variable cannot be
changed. innodb_lock_wait_timeout is only dynamic when using the InnoDB plugin. To prevent this warning, either specify
--lock-wait-time=50, or manually set innodb_lock_wait_timeout to a value less than or equal to 1 and restart MySQL.
Cannot connect to P=3306,h=172.16.21.128,u=root
TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
10-24T10:00:48 0 0 10 1 0 0.588 lixl.xf
####****###处理:vi /etc/my.cnf
修改 innodb_lock_wait_timeout =1
**************************************************************************
重启主库mysql服务;更改mysql从库stop slave,change,start slave;重新启动mysql服务器,
没有解决问题,这步
********************************************************************************************
去从库赋权限:mysql> grant all on *.* to root@172.16.21.126;
主库上:ma# /usr/local/bin/pt-table-checksum --nocheck-replication-filters --replicate=lixl.checksums --databases=lixl --
tables=xf h=127.0.0.1,u=root,P=3306
TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
10-24T16:30:14 0 1 18 1 0 0.010 lixl.xf
ma# /usr/local/bin/pt-table-sync h=127.0.0.1, --databases lixl,t=xf h=172.16.21.128 --no-check-slave --exec
*************************************************************************************************
参见:http://www.cnblogs.com/zhoujinyi/archive/2013/05/09/3067045.html
http://www.percona.com/forums/questions-discussions/percona-toolkit/9577-pt-table-sync-script
飞鸿无痕的cu博客
pt-table-checksum和pt-table-sync的更多相关文章
- NXP ARM Vector Table CheckSum
Signature Creator for NXP Cortex-M Devices Algorithm for creating the checksum The reserved Cortex-M ...
- 【转载】alter table move 和 alter table shrink space的区别
move 和shrink 的共同点1.收缩段2.消除部分行迁移3.消除空间碎片4.使数据更紧密 shrink 语法: alter table TABLE_NAME shrink space [com ...
- How To determine DDIC Check Table, Domain and Get Table Field Text Data For Value?
How To determineDDIC Check Table, Domain and Get Table Field Text Data For Value? 1.Get Table Fie ...
- create table as 和create table like的区别
create table as 和create table like的区别 对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么 ...
- pt和px区别 pt是逻辑像素,px是物理像素
pt和px区别 pt是逻辑像素,px是物理像素字体大小的设置单位,常用的有2种:px.pt.这两个有什么区别呢?先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点:pt就是po ...
- HTML table表格转换为Markdown table表格[转]
举个栗子,当我想要把这个页面的第一个表格转换成Markdown Table时,怎么做更快,效率更高? 只需简单三步,请看示例: 第一步:复制包含HTML table标签的代码 复制table代码(HT ...
- Bootstrap table方法,Bootstrap table事件,配置
调用 BootStrap Table 方法的语法: $('#table').bootstrapTable('method', parameter); 例如: $('#my_table').bootst ...
- hbase删除table时,显示table不存在
hbase删除table时,显示table不存在,但是创建table时,显示table存在. 解决方案: 清空zookeeper数据.(重新安装zookeeper)
- How To Convert A Partitioned Table To A Non-Partitioned Table Using DataPump In 11g (Doc ID 1276049.1)
How To Convert A Partitioned Table To A Non-Partitioned Table Using DataPump In 11g (Doc ID 1276049. ...
- UI5-技术篇-SAP UI5数据表进行了比较:sap.m.Table与sap.ui.table.Table
https://a.kabachnik.info/sap.m.table-vs-sap.ui.table.table-features-compared.html SAP UI5数据表进行了比较:sa ...
随机推荐
- 基于Qt Gui的Led控制显示程序
基于arm + linux的嵌入式软件开发,基本上的内容主要是:u-boot的移植,kernel的裁剪和相关驱动程序的设计,root-fs的制作,应用程序的设计,其中,应用程序主要包含两方面的内容:G ...
- python2 + selenium + eclipse 中,通过django生产数据库表的时候报错
python2 + selenium + eclipse 中,通过django生产数据库表的时候报错 解决: 1.查看自己电脑中,“开始-->控制面板-->管理工具-->服务--&g ...
- poi解析Excel(转)
下面是本文的项目结构: 项目中所需要的jar文件: 所用的Excel数据(2003-2007,2010都是一样的数据) 运行效果: /Excel2010/src/com/b510/common/Com ...
- eclipse修改workspace
Eclipse是一款很强的Java IDE,我们在开始的时候,往往设定了默认的workspace,当用久在之后,我们可能要去更改一下workspace的位置,但是在启动的时候已经不会显示更改了.下面有 ...
- hdu 3037 费马小定理+逆元除法取模+Lucas定理
组合数学推推推最后,推得要求C(n+m,m)%p 其中n,m小于10^9,p小于1^5 用Lucas定理求(Lucas定理求nm较大时的组合数) 因为p数据较小可以直接阶乘打表求逆元 求逆元时,由费马 ...
- std::function"函数"对象包装器
语义: 类模板std::function是可调用对象的包装器,可以包装除了类成员之外的所有可调用对象.包括,普通函数,函数指针,lambda,仿函数.通过指定的模板参数,它可以用统一的方式保存,并延迟 ...
- MS SQL Server的LTRIM,RTRIM和TRIM函数
在MS SQL Server 2017有了一个新函数TRIM,整合以前版本LTRIM和RTRIM. 这几个函数都是去除字符串头部后尾部的空格. DECLARE @str NVARCHAR(MAX) = ...
- Git提交与恢复
Git提交与恢复 提交修改 git add --all # 提交所有修改文件 git add file file # 提交部分修改文件 $ git status On branch master Yo ...
- IT兄弟连 Java语法教程 Java语言背景
驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变.Java也不例外.在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华.针对在线环境的蓬勃发展(In ...
- pytest框架(二)
一.示例代码一 D:YOYO\ __init__.py test_class.py # content of test_class.py class TestClass: def test_one(s ...