楼主: mchdba

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

[复制链接]
论坛徽章:
6
嫦娥
日期:2006-04-13 09:55:49生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532011新春纪念徽章
日期:2011-02-18 11:43:34ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:37
121#
发表于 2012-3-9 17:52 | 只看该作者
谢谢楼主的回复.
不过,我是想用mysql去访问oracle的表. 类似透明网关的东西~~

使用道具 举报

回复
论坛徽章:
104
生肖徽章2007版:猪
日期:2012-07-12 14:24:56菠菜神灯
日期:2013-05-26 22:03:18生肖徽章2007版:猪
日期:2012-07-19 11:10:12生肖徽章2007版:猪
日期:2012-07-19 11:10:12生肖徽章2007版:猪
日期:2012-07-11 19:07:11生肖徽章2007版:猪
日期:2012-07-19 11:10:12生肖徽章2007版:猪
日期:2012-07-19 11:10:12ITPUB伯乐
日期:2012-05-22 15:05:25NBA季后赛纪念徽章
日期:2013-06-21 14:52:05NBA季后赛大富翁
日期:2013-06-21 14:57:11
122#
发表于 2012-4-14 21:55 | 只看该作者
不错,很给力!

使用道具 举报

回复
论坛徽章:
0
123#
发表于 2012-5-2 15:05 | 只看该作者
这个写的很全,需要慢慢看。

使用道具 举报

回复
论坛徽章:
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
124#
 楼主| 发表于 2012-5-2 15:19 | 只看该作者
zeroman1223 发表于 2012-5-2 15:05
这个写的很全,需要慢慢看。

今天学了一招,是如何获取半夜mysql数据库服务器负载过高的SQL语句的方法:
这2天半夜2点半 都接到报警短信,但是慢查询日志和错误日志里面都没有任何记载,所以也不知道是啥sql执行导致的。想了想也不能守到半夜2点起床来看啊,就想了一个办法如下:

1,建立一个shell脚本,check.sh
mysql -uadmin -pXXXXXXXX -P3307 -h127.0.0.1 --default-character-set=utf8 -e "select now()" -N >> /tmp/2.log
mysql -uadmin -pXXXXXXXX -P3307 -h127.0.0.1 --default-character-set=utf8 -e "show full processlist" >> /tmp/2.log
mysql -uadmin -pXXXXXXXX -P3307 -h127.0.0.1 --default-character-set=utf8 -e "show slave status \G" >> /tmp/2.log
echo "=================================================" >> /tmp/2.log
2,制作定时任务,获取信息
*/1 4 * * * sh /root/check.sh

这样的话,明天一早过来就看这个/tmp/2.log 里面看看是啥SQL导致的。

使用道具 举报

回复
论坛徽章:
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
125#
 楼主| 发表于 2012-5-9 17:57 | 只看该作者
诡异的错误:
mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Got an error writing communication packets (1160)

后来去掉--routines 参数就ok了。

使用道具 举报

回复
论坛徽章:
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
126#
 楼主| 发表于 2012-5-16 14:52 | 只看该作者
主库上面insert没事,从库上面一直报错
Last_SQL_Errno: 1366
               Last_SQL_Error: Error 'Incorrect string value: '\xB2\xBD\xD6\xE8\xA3\xBA...' for column 'VALUE_STR' at row 1' on query. Default database: 'bgkettle'. Query: 'INSERT INTO R_NOTE (ID_NOTE, VALUE_STR, GUI_LOCATION_X, GUI_LOCATION_Y, GUI_LOCATION_WIDTH, GUI_LOCATION_HEIGHT, FONT_NAME, FONT_SIZE, FONT_BOLD, FONT_ITALIC, FONT_COLOR_RED, FONT_COLOR_GREEN, FONT_COLOR_BLUE, FONT_BACK_GROUND_COLOR_RED, FONT_BACK_GROUND_COLOR_GREEN, FONT_BACK_GROUND_COLOR_BLUE, FONT_BORDER_COLOR_RED, FONT_BORDER_COLOR_GREEN, FONT_BORDER_COLOR_BLUE, DRAW_SHADOW) VALUES ( 1,  0xB2BDD6E8A3BA0A0931A1A2B4D3BBB7BEB3B1E4C1BFD6D0BBF1C8A1B1BEB4CECAB9D3C3B5C4CAB1BCE4A3A8BEABC8B7B5BDCCECA3A9A3ACC0FDC8E7A3BA323031322D30332D32322030303A30303A30300A0932A1A2BDABCAB1BCE4D4F6BCD33234D0A1CAB1A3ACC7D0BBBBB3C9CFC2D2BBCCECA3A8323031322D30332D32332030303A30303A3030A3A90A0933A1A2D0B4C8EBCAFDBEDDBFE23A7570646174652060626765746C602E6062675F65746C5F74696D656020736574206C6173745F74696D653D27323031322D30332D32332030303A30303A303027207768657265206170703D31,  99,  201,  584,  70,
1 row in set (0.00 sec)

检查了主从所有字符集配置,都是utf8;后来google下,借鉴了别人的方案,搞定了。


解决方案:
alter table bgkettle.R_NOTE modify `VALUE_STR` mediumtext  character set gbk;

然后从库上面就不会报错了

使用道具 举报

回复
论坛徽章:
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
127#
 楼主| 发表于 2012-5-18 15:01 | 只看该作者
[root@localhost mysql-5.1.56]# service mysqld start
Starting MySQL.Manager of pid-file quit without updating fi[失败]
[root@localhost mysql-5.1.56]#
[root@localhost mysql-5.1.56]# /etc/init.d/mysqld start
Starting MySQL.Manager of pid-file quit without updating fi[失败]
[root@localhost mysql-5.1.56]#
[root@localhost mysql-5.1.56]# cd /data/mbdata/open
[root@localhost open]# ll
总计 12
drwx------ 2 mysql root  4096 12-16 17:52 mysql
drwxr-xr-x 2 mysql mysql 4096 12-16 17:52 open
drwx------ 2 mysql root  4096 12-16 17:52 test
[root@localhost open]# /usr/local/mysql/bin/mysqld_safe &
[1] 29187
[root@localhost open]# 111216 17:54:10 mysqld_safe Logging to '/usr/local/mysql/var/localhost.localdomain.err'.
touch: 无法触碰 “/usr/local/mysql/var/localhost.localdomain.err”: 没有那个文件或目录
chown: 无法访问 “/usr/local/mysql/var/localhost.localdomain.err”: 没有那个文件或目录
111216 17:54:10 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
/usr/local/mysql/bin/mysqld_safe: line 100: /usr/local/mysql/var/localhost.localdomain.err: 没有那个文件或目录
/usr/local/mysql/bin/mysqld_safe: line 137: /usr/local/mysql/var/localhost.localdomain.err: 没有那个文件或目录
111216 17:54:10 mysqld_safe mysqld from pid file /usr/local/mysql/var/localhost.localdomain.pid ended
/usr/local/mysql/bin/mysqld_safe: line 100: /usr/local/mysql/var/localhost.localdomain.err: 没有那个文件或目录

[1]+  Exit 1                  /usr/local/mysql/bin/mysqld_safe
[root@localhost open]#
[root@localhost open]#
[root@localhost open]#
[root@localhost open]#
[root@localhost open]# service mysqld status
MySQL is not running, but lock exists                      [失败]
[root@localhost open]#


同事安装mysql错误,启动不起来。
这么多错误,就是因为/etc/my.cnf 不存在,同事忘记copy了,copy一份 my.cnf过来,重新启动,就搞定了。

使用道具 举报

回复
论坛徽章:
32
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22马上加薪
日期:2014-12-08 22:53:43马上有房
日期:2014-12-09 01:05:19美羊羊
日期:2015-03-04 14:52:282015年新春福章
日期:2015-03-06 11:58:18巨蟹座
日期:2015-11-17 11:02:55双子座
日期:2015-11-17 12:21:47白羊座
日期:2015-12-10 17:27:08狮子座
日期:2016-02-23 10:11:01双子座
日期:2016-02-23 10:17:05
128#
发表于 2012-5-20 23:11 | 只看该作者
谢谢分享。

使用道具 举报

回复
论坛徽章:
2
咸鸭蛋
日期:2012-11-07 11:18:02马上有钱
日期:2014-02-27 10:32:03
129#
发表于 2012-5-21 14:41 | 只看该作者
mchdba 发表于 2012-3-7 20:48
今天帮同事搞定了一个复杂的sql查询,就是 '/pic/shop/man/beijing1203.jpg',他要获取出图片名称,就是bei ...

上次看到这个是一个很好的方法,我特意记了下来,尤其是对REVERSE这个函数的使用,谢谢分享。 我这里也给个函数,substring_index也可以很好的解决这个问题,对于再获得beijing1203再进行处理下,应该就可以了。下面是这个函数的例子:
mysql> select substring_index('/pic/shop/man/beijing1203.jpg','/',-1);
+---------------------------------------------------------+
| substring_index('/pic/shop/man/beijing1203.jpg','/',-1) |
+---------------------------------------------------------+
| beijing1203.jpg                                         |
+---------------------------------------------------------+
1 row in set (0.00 sec)

使用道具 举报

回复
论坛徽章:
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
130#
 楼主| 发表于 2012-5-21 14:52 | 只看该作者
0715208 发表于 2012-5-21 14:41
上次看到这个是一个很好的方法,我特意记了下来,尤其是对REVERSE这个函数的使用,谢谢分享。 我这里也给 ...

谢谢,这个我去试了下,果然很好用!

使用道具 举报

回复

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

本版积分规则 发表回复

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