了
解
红
点
最
新
动
态
和
行
业
资
讯
最近重启服务器的mysql总是报大量的如下错误:
这个错误其实是mysql在对DNS做反查,由于反查的接续速度过慢,大量的查询处理不及时,线程得不到释放,造成MySQL“ 假死”。
解决办法:
linux服务器
修改mysql的配置文件(my.cnf)在[mysqld]下添加:
skip-name-resolve
windows服务器
修改mysql的配置文件(my.ini)在[mysqld]下添加:
修改完成后,重启mysql服务。
参数用途:
skip-name-resolve #禁止MySQL对外部连接进行DNS解析skip-grant-tables
添加–skip-name-resolve方法:
修改配置文件添加并需要重启。
参数优化:
skip-name-resolve 参数的目的是不再进行反解析(ip不反解成域名),这样可以加快数据库的反应时间。
内部有DNS服务器,对各服务器的IP做了反向解析,但未对内网IP做反向解析,所以使用skip-name-resolve以后用内网地址向mysqlslap请求响应快了一半。
添加“–skip-name-resolve mode”参数后发现错误日志有
只需去服务器里边把用户root@jimmyli和@jimmyli删除即可。
提示Warning信息:
一般在优化MySQL配置参数时,添加“–skip-name-resolve”,然后在重新启动MYSQL时检查启动日志,发现有警告信息。如上。
原因分析:
“–skip-name-resolve mode”是禁用dns解析,避免网络DNS解析服务引发访问MYSQL的错误,一般应当启用。
启用“–skip-name-resolve mode”后,在MySQL的授权表中就不能使用主机名了,只能使用IP ,出现此警告是由于mysql 表中已经存在有 localhost.localdomain 帐号信息。
解决方法:
把Warning的账号删除就解决了。
MySQL命令行:
最后,重启MySQL,再看错误信息提示,日志发现警告已经没有啦。该方法是mysql启用skip-name-resolve模式时出现Warning的处理办法。