mysql常见问题(异常问题排查)

原创
2015/11/18 18:25
阅读数 1.5K

一、发现一堆的用户名是unauthenticateduser的用户在连接,错误如下:
[Warning] IP address'202.105.127.122' could not be resolved: Name or service not known
[Warning] /usr/local/mysql/bin/mysqld: Forcing close of thread 313036  user: '100msh_creater'
解决办法:在my.cnf中修改,[mysqld] 行下添加 

skip-name-resolve

skip-external-locking

二、报错:'proxies_priv' entry '@ root@python1.100msh.com' ignored in--skip-name-resolve mode
解决办法:
我的my.cnf设置的是skip_name_resolve,

我用rpm包安装完mysql后,进入user表,只保留了一个root账户,并把host改成%了,其余的root账户都让我删除了。

可是我的mysql.err启动时候,提示

111018 12:43:37 [Warning] 'proxies_priv' entry '@root@localhost.localdomain' ignored in --skip-name-resolve mode.

已经都没root@localhost.localdomain' 这个账户了,怎么还会提示这个呢。

 

数据库装完后,数据是从备份恢复过来的吧。备份的数据库之前所在的主机名是localhost.localdomain,现在是不是改了。这样的话,把这条记录删了就行了。

如有问题,把root用户重设一下,再flush privileges一下应该就行了

 

三、mysql内存使用很小,CPU飙升,说明有表没有建索引

解决办法:

1、root账号登录mysql,查询当前数据库连接数,命令为:showprocesslist;发现有大量“SELECT partner_no,mac_no,partner_id,sc_pid,mac_addr FROM `t_machine_sc_config`  WHERE partner_no='05'”在执行。

2、通过分析该SQL查询未走索引descSELECT partner_no,mac_no,partner_id,sc_pid,mac_addr FROM`t_machine_sc_config`  WHERE partner_no='05';

3、根据查询条件,将partner_no建立索引字段

4、索引建完后,切换到用户登录模式后,通过观察cpu负载正常。

5.mysql 表卡住了,那么需要把mysql进程kill 掉,尽量不要重启,因为mysql在写表重启表会坏

 

 

 

6.配置优化说明

skip-name-resolve 禁止mysql对外部连接进行DNS解析,使用这一项可以消除mysql进行DNS解析的时间。
back--log=384 #back--log参数的值指出在mysql暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。如果系统在一个短时间内有很多连接,则需要增大该参数的值。
key_buffer_size=256M 指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。
read_buffer_size=4M 读查询操作所能使用的缓冲区大小
max_connect_errors =10000 加大允许最大的错误连接
wait_timeout =10 指定一个请求的最大连接时间。

 

展开阅读全文
打赏
0
9 收藏
分享
加载中
更多评论
打赏
0 评论
9 收藏
0
分享
在线直播报名
返回顶部
顶部