Mysql管理必备工具Maatkit详解之十一(mk-table-checksum)
Leave a Comment2009年08月19日 作者: 大头刚
mk-table-checksum - 检查数据库复制模式里,master和slave的表是否一致,安装方法可以参考这里。
mysql在5.1之前,其replication都是采用的STATEMENT模式,对表的数据是否一致要求并不严格,所以对数据一致性要求比较严格的应用,定期检查数据一致性是很有必要的,mk-table-checksum 是一个很不错的检查工具。
例如:
我要检查master=192.168.0.1,slave=192.168.0.2的两台mysql的test库里的test表是否一致,命令如下:
mk-table-checksum h=192.168.0.1,u=sg,p=sg109504 h=192.168.0.2,u=sg,p=xxxx -d test -t test
DATABASE TABLE CHUNK HOST ENGINE COUNT CHECKSUM TIME WAIT STAT LAG
test test 0 192.168.0.1 MyISAM [...]
Mysql管理必备工具Maatkit详解之十(mk-parallel-restore)
Leave a Comment2009年07月27日 作者: 大头刚
mk-parallel-restore - Load files into MySQL in parallel. 安装方法可以参考这里。
在上一篇介绍了mk-parallel-dump并行备份,会把mysql的按照database模式,每个表都生成一个单独的备份文件,并统一在你指定的目录。
mk-parallel-restore其实就是mk-parallel-dump的反向操作,也会同时启用4个mysql进程去进行恢复,默认优先恢复大表。
使用起来很简单。例如:
mk-parallel-restore -u -p -h /u01/backup/bk_mysql_20090724
如果dump的时候指定了–tab,这里也加上–tab参数
mk-parallel-restore -u -p -h –tab /u01/backup/bk_mysql_20090724
这里需要注意一下,恢复的时候,如果恢复库没有备份库的database需要提前手工创建,mk-parallel-restore不会自动创建。否则会报错
gzip: stdout: Broken pipe
Issuing rollback() for database handle being DESTROY’d without explicit disconnect().
DBD::mysql::db do failed: Unknown database ‘xxxxxx’ at /usr/bin/mk-parallel-restore line 1778.
ok,在看下其他的参数。
mk-parallel-restore –help
mk-parallel-restore loads files into MySQL in parallel. For more [...]
Mysql分区表局限性总结
1 Comment2009年07月20日 作者: 大头刚
Mysql5.1已经发行很久了,本文根据官方文档的翻译和自己的一些测试,对Mysql分区表的局限性做了一些总结,因为个人能力以及测试环境的原因,有可能有错误的地方,还请大家看到能及时指出,当然有兴趣的朋友可以去官方网站查阅。
本文测试的版本
mysql> select version();
+————+
| version() |
+————+
| 5.1.33-log |
+————+
1 row in set (0.00 sec)
一、关于Partitioning Keys, Primary Keys, and Unique Keys的限制
在5.1中分区表对唯一约束有明确的规定,每一个唯一约束必须包含在分区表的分区键(也包括主键约束)。
这句话也许不好理解,我们做几个实验:
CREATE TABLE t1
( id INT NOT NULL,
uid INT NOT NULL,
[...]
Mysql管理必备工具Maatkit详解之九(mk-parallel-dump)
Leave a Comment2009年07月16日 作者: 大头刚
mk-parallel-dump - 顾名思义,并行mysqldump工具。安装方法可以参考这里。
mysqldump是单进程的,同时只能备份1个表。mk-parallel-dump它会同时并发4个mysqldump进程,同时备份4个表,默认是先备份大表,在备份小表。和mysqldump出来生成一个文件不同,它将每个表生成一个单独的文件。默认使用gzip对文件进行压缩。
使用mysqldump备份40G左右的数据,大概需要2小时。而使用mk-parallel-dump不到1小时能完成,效率能提高200%左右。
例如:
mk-parallel-dump -u -p -h –basedir /u01/backup/bk_mysql
default: 1 tables, 1 chunks, 1 successes, 0 failures, 0.10 wall-clock time, 0.06 dump time
恢复的话,直接解压导入就可,和mysqldump的恢复一样。当然也可以用mk-parallel-restore进行恢复,这个工具将在下一篇进行介绍。
解释几个重要的参数文件。
–tab: 将数据备份成load data的形式,将生成一个load文本文件,一个建表sql文件。只能备份本地的MYSQL,不能远程。
–basedir: 备份到指定目录。
–[no]gzip:是否压缩,默认是压缩。
OK,还有其他的一些参数,可以看下帮助文件。
mk-parallel-dump –help
mk-parallel-dump dumps sets of MySQL tables simultaneously via mysqldump or
SELECT INTO OUTFILE. For more details, please use the –help option, or [...]
面对一个全新的环境,作为一个Mysql DBA,首先应该了解什么?
2 Comments2009年07月08日 作者: 大头刚
前段时间有高人写了一篇《面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么》,本文借花献佛,总结了一些思路,如何面对一个全新的Mysql环境。
1、先要了解当前的Mysql数据库的版本和平台以及字符集等相关信息
mysql> status
————–
mysql Ver 14.14 Distrib 5.1.34, for unknown-linux-gnu (x86_64) using EditLine wrapper
Connection id: 25874330
Current database:
Current user:
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.1.34-log Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 13 days 14 hours 18 min 36 sec
Threads: 7 [...]



