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 ...
随机推荐
- win 10 无线标志都不出现
http://jingyan.baidu.com/article/e75057f2fdd2f1ebc91a89f1.html ipconfig /flushdns netsh winsock rese ...
- QT画矩形
第一次发QT的博文,本人对QT接触没多久,还在入门水平,大牛勿喷哈,之前因为C# (.net framework)做出来的绘制矩形的程序闪的太厉害了,现在用QT重做一个 先上效果图 代码贴全了 #i ...
- Linux 基础命令(一)
Linux 基础: https://www.cnblogs.com/linhaifeng/articles/6045600.html Linux 比 Windows 更稳定做服务器,开发出来的软件需要 ...
- 无监督学习:Neighbor Embedding(邻域嵌套)
一 Manifold Learning 我们要做的是非线性的降维,data是分布在低维空间里面,只是被扭曲到了高维空间. 比如地球的表面是一个二维平面,但是被塞到一个三维空间中. Manifold就是 ...
- SQL中SUM函数和CASE WHEN联合使用
SELECT SUM(case WHEN sex=1 then 1 else 0 end )as '男生', SUM(case when sex =2 then 1 else 0 end )'女生'F ...
- php UTF8 转字节数组,后使用 MD5 计算摘要
Hex.encodeHexString(md5.digest);按 UTF8 转字节数组,后使用 MD5 计算摘要,得到 16 字节数组,使用 Hex 转为长度为 32 的字符串,保持小写 bin2h ...
- 洛谷P3004 [USACO10DEC]宝箱Treasure Chest
P3004 [USACO10DEC]宝箱Treasure Chest 题目描述 Bessie and Bonnie have found a treasure chest full of marvel ...
- [Xcode 实际操作]七、文件与数据-(8 )读取和解析Plist文件(属性列表文件)
目录:[Swift]Xcode实际操作 本文将演示如何读取和解析Plist文件,即属性列表文件. 它是用来存储,串行化后的对象的文件. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[New File ...
- Node.js 内置模块crypto加密模块(1) MD5 和 SHA
MD5:消息摘要算法(Message-Digest Algorithm) SHA家族:安全散列算法( Secure Hash Algorithm ) 1.首先看一个简单的加密 "use st ...
- JDBC基础原理
一.DCL(了解) -- 1. 创建用户CREATE USER 'zhangsan'@'%' IDENTIFIED BY 'zhangsan';-- 2. 用户授权GRANT ALL ON heima ...