楼主: mchdba

MySQL知识点技能点总结贴--个人版!

[复制链接]
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
181#
 楼主| 发表于 2012-7-19 17:34 | 只看该作者
sunny_zhao0127 发表于 2012-7-19 16:56
请教楼主 在您77楼share出来的 mysql server优化的参数里面
有一个参数 innodb_additional_pool_size
...

我现在用的是percona5.5.19,那个参数是在上家公司用的,好像版本是社区版5.5.23,当时记得有。

使用道具 举报

回复
论坛徽章:
5
奥运会纪念徽章:蹦床
日期:2012-08-24 16:50:342013年新春福章
日期:2013-02-25 14:51:24鲜花蛋
日期:2013-06-08 15:24:31ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:422014年世界杯参赛球队: 意大利
日期:2014-06-25 12:38:19
182#
发表于 2012-7-23 18:22 | 只看该作者
mchdba 发表于 2012-5-2 15:19
今天学了一招,是如何获取半夜mysql数据库服务器负载过高的SQL语句的方法:
这2天半夜2点半 都接到报警短 ...

请教一下楼主
mysql -uadmin -pXXXXXXXX -P3307 -h127.0.0.1 --default-character-set=utf8 -e "select now()" -N >> /tmp/2.log
您这条语句中的参数-e 是什么意思呢?
看过不少mysqldump的文档 没有见过这个参数的使用
麻烦楼主讲解下 这个参数的用途和方法 可以吗
谢谢

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
183#
 楼主| 发表于 2012-7-23 23:08 | 只看该作者
本帖最后由 mchdba 于 2012-7-23 23:09 编辑
sunny_zhao0127 发表于 2012-7-23 18:22
请教一下楼主
mysql -uadmin -pXXXXXXXX -P3307 -h127.0.0.1 --default-character-set=utf8 -e "select ...


这个是mysql 命令的参数,不是mysqldump命令的参数。兄弟你混淆了!

使用道具 举报

回复
论坛徽章:
0
184#
发表于 2012-8-16 11:30 | 只看该作者
good

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
185#
 楼主| 发表于 2012-8-17 11:27 | 只看该作者
本帖最后由 mchdba 于 2012-8-17 11:32 编辑
Assart 发表于 2012-8-16 11:30
good


MySQL主从会假死:
你会发现主上有这条数据,但是从库上面却没有这条数据,而你show slave status\G 会发现 Seconds_Behind_Master: 0

怎么办呢,愁人吧!what can i do ?

怎么回事呢?这个时候你只要stop slave ; 再 show slave status\G你就会发现Seconds_Behind_Master: 6789 值很大很大了,然后再start slave; 慢慢恢复吧。


我发现这个解决办法,但是找不到其中的原因,不知道各位有没有发现呢?

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
186#
 楼主| 发表于 2012-8-28 11:41 | 只看该作者
-- 获取特定时间之内的dml、ddl记录。

mysqlbinlog --start-datetime="2012-08-26 20:05:00" --stop-datetime="2012-08-26 20:08:00" mysql-bin.000067 > 2.log

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
187#
 楼主| 发表于 2012-9-7 23:24 | 只看该作者
有群里面的网友说binlog-format的格式为row的情况下,解析出来的log日志看不到dml sql语句。
我立马去看了下,将my.cnf立马的原来的默认格式改成binlog_format=row。
重新启动mysql;

(一):进入mysql命令窗口,建表,insert sql
mysql> create table t1(id int auto_increment primary key, name varchar(30));
ERROR 1050 (42S01): Table 't1' already exists
mysql> select * from t1;
+--------------------------------+
| address                        |
+--------------------------------+
| 记录创建时间             |
| 一二三四五六七八九十 |
| 零二三四五六七八九十 |
| 零二三四                   |
| 零二三四                   |
| é›¶äºâ

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
188#
 楼主| 发表于 2012-9-7 23:38 | 只看该作者
本帖最后由 mchdba 于 2012-9-7 23:38 编辑
mchdba 发表于 2012-8-28 11:41
-- 获取特定时间之内的dml、ddl记录。

mysqlbinlog --start-datetime="2012-08-26 20:05:00" --stop-dat ...


mysql 的binlog-formax是row的话,如何获取dml执行的sql语句,得用上--verbose参数了。

[root@clonedb-m209 open]# mysqlbinlog -f --verbose  mysql-bin.000001 > z2.log

[root@clonedb-m209 open]# more z2.log
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#120907 20:12:05 server id 1  end_log_pos 106   Start: binlog v 4, server v 5.1.56-log created 120907 20:12:05 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
BINLOG '
leRJUA8BAAAAZgAAAGoAAAABAAQANS4xLjU2LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACV5ElQEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
'/*!*/;
# at 106
#120907 20:34:56 server id 1  end_log_pos 237   Query   thread_id=3     exec_time=0     error_code=0
use test/*!*/;
SET TIMESTAMP=1347021296/*!*/;
SET @@session.pseudo_thread_id=3/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1(id int auto_increment primary key,name varchar(20) )
/*!*/;
# at 237
#120907 20:35:14 server id 1  end_log_pos 305   Query   thread_id=3     exec_time=0     error_code=0
SET TIMESTAMP=1347021314/*!*/;
BEGIN
/*!*/;
# at 305
# at 349
#120907 20:35:14 server id 1  end_log_pos 349   Table_map: `test`.`t1` mapped to number 14
#120907 20:35:14 server id 1  end_log_pos 385   Write_rows: table id 14 flags: STMT_END_F
BINLOG '
AupJUBMBAAAALAAAAF0BAAAAAA4AAAAAAAEABHRlc3QAAnQxAAIDDwI8AAI=
AupJUBcBAAAAJAAAAIEBAAAAAA4AAAAAAAEAAv/8AQAAAAFh
'/*!*/;
### INSERT INTO test.t1
### SET
###   @1=1
###   @2='a'
# at 385
#120907 20:35:14 server id 1  end_log_pos 412   Xid = 11
COMMIT/*!*/;
# at 412
#120907 22:08:58 server id 1  end_log_pos 480   Query   thread_id=4     exec_time=0     error_code=0
SET TIMESTAMP=1347026938/*!*/;
BEGIN
/*!*/;
# at 480
# at 524
#120907 22:08:58 server id 1  end_log_pos 524   Table_map: `test`.`t1` mapped to number 14
#120907 22:08:58 server id 1  end_log_pos 568   Update_rows: table id 14 flags: STMT_END_F
BINLOG '
+v9JUBMBAAAALAAAAAwCAAAAAA4AAAAAAAEABHRlc3QAAnQxAAIDDwI8AAI=
+v9JUBgBAAAALAAAADgCAAAAAA4AAAAAAAEAAv///AEAAAABYfwBAAAAAWI=
'/*!*/;
### UPDATE test.t1
### WHERE
###   @1=1
###   @2='a'
### SET
###   @1=1
###   @2='b'
# at 568
#120907 22:08:58 server id 1  end_log_pos 595   Xid = 17
COMMIT/*!*/;
# at 595
#120907 22:13:34 server id 1  end_log_pos 663   Query   thread_id=4     exec_time=0     error_code=0
SET TIMESTAMP=1347027214/*!*/;
BEGIN
/*!*/;
# at 663
# at 707
#120907 22:13:34 server id 1  end_log_pos 707   Table_map: `test`.`t1` mapped to number 14
#120907 22:13:34 server id 1  end_log_pos 743   Delete_rows: table id 14 flags: STMT_END_F
BINLOG '
DgFKUBMBAAAALAAAAMMCAAAAAA4AAAAAAAEABHRlc3QAAnQxAAIDDwI8AAI=
DgFKUBkBAAAAJAAAAOcCAAAAAA4AAAAAAAEAAv/8AQAAAAFi
'/*!*/;
### DELETE FROM test.t1
### WHERE
###   @1=1
###   @2='b'

# at 743
#120907 22:13:34 server id 1  end_log_pos 770   Xid = 20
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
[root@clonedb-m209 open]#

看到蓝色的前面类似二进制的就是原始的row模式下的sql记录,后面的delete等就是通过参数解析出来sql记录。不过insert语句写法比较诡异,呵呵!

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
189#
 楼主| 发表于 2012-9-13 09:44 | 只看该作者
本帖最后由 mchdba 于 2012-9-13 09:45 编辑

数据库主从一致性检查  --ignore-tables参数可以忽略某些大表
mk-table-checksum xxxxxx -d bglogdb --ignore-tables=tb1 ,tb2,tb3,tb4 --count

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
190#
 楼主| 发表于 2012-9-18 16:08 | 只看该作者
mysql> CREATE TABLE xxxxx_history LIKE xxxxx;
ERROR 1004 (HY000): Can't create file './os/xxxxx_history.frm'' (errno: 9)

报错的处理办法之一是表重建:
mysql> alter table xxxxx engine=MyISAM;              
Query OK, 861753 rows affected (38.12 sec)
Records: 861753  Duplicates: 0  Warnings: 0

mysql> CREATE TABLE xxxxx_history LIKE xxxxx;
Query OK, 0 rows affected (0.01 sec)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表