MySQL出现大量unauthenticated user解决办法

问题状态

重启mysql也尽是失败,看mysql的errorlog,只能看到类似如下的信息:

Forcing close of thread 12232 user: 'root'

用mysqladmin 简单的监控了下mysql的情况:

mysqladmin -uroot -p******** status -i 1

发现Queries per second avg只有200左右,可以说很低,但是Threads 确非常不稳定,居然会瞬间升级200以上,一般情况下这个线程这个值都是不会高于5的个位数!

mysqladmin -uroot -p******** processlist

| 2007 | unauthenticated user | 192.168.4.29:58519 |    | Connect |     | login | |
| 2008 | unauthenticated user | 192.168.4.29:58553 |    | Connect |     | login | |
| 2009 | unauthenticated user | 192.168.4.29:58571 |    | Connect |     | login | |
| 2010 | unauthenticated user | 192.168.4.29:58577 |    | Connect |     | login | |
| 2011 | unauthenticated user | 192.168.4.29:58579 |    | Connect |     | login | |
| 2012 | unauthenticated user | 192.168.4.29:58589 |    | Connect |     | login | |

原因分析

MySQL会尝试去反查IP->DNS,由于反查解析过慢,无法应付快速多量的查询。

解决办法

解决方式很简单:启动MySQL的时候,添加--skip-name-resolve选项

重新载入配置文件或者重启MySQL服务即可。

时间: 2024-10-24 16:22:30

MySQL出现大量unauthenticated user解决办法的相关文章

MySQL忘记密码处理方法解决办法

MySQL忘记密码处理方法解决办法: 1.停止mysql服务.//打开命令行窗口,停止mysql服务: Net stop mysql 2.启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe 执行:mysqld-nt --skip-grant-tables 当前窗口将会停止. 3.另外打开一个命令行窗口,进入MYSQL的安装位置下BIN目录,运行mysql 4.输入如下命令: >use mysql >update user set password=password(&

虚拟机linux端mysql数据库无法远程访问的解决办法_Mysql

对于解决虚拟机linux端mysql数据库无法远程访问的办法一种,以下内容我给大家整理了两种解决方案,具体内容如下: 解决方法一: 1. 在控制台执行 mysql -u root -p mysql,CentOS系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台 2. 在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; FLUSH

关闭MySQL的DNS反向解析(unauthenticated user 解决办法)

例  代码如下 复制代码 mysql>show processlist; | 20681949 | unauthenticated user | A.B.C.D:52497 | NULL | Connect | | Reading from net | NULL | | 20681948 | unauthenticated user | W.X.Y.Z:52495 | NULL | Connect | | Reading from net | NULL | 发现有非常多的 unauthentic

jsp和servlet操作mysql中文乱码问题的解决办法

  自己做测试的时候用到jsp/servlet 向mysql中写数据,但是中文总是乱码,今早纠结了半天才搞定,分享给大家我的解决办法 首先看是从什么地方开始出现的乱码,只要统一编码,就不会出现乱码,下面以uft-8(个人认为最好)为例,详细说明: 1.如果乱码是从jsp页面出现的,jsp头部页面加上: 在head标签中加上标签. 2.如果乱码是在servlet中出现的,则有两种方法: 一种是在每个servlet中doget和doPost方法头部加上 request.setCharacterEnc

mysql服务无法启动(1067)解决办法

  mysql教程服务无法启动(1067)解决办法 把mysql程序卸载后, 重装, 结果mysql服务启动不了, 解决方法: 1: 先卸载mysql, 手动将其安装目录里没有删除干净的文件全部删除. 2: 将C:ProgramDataMySQL 里有关mqsql的文件全部删除. 3: 重新安装 mysql 程序. mysql服务就可以正常启动了 MySQL服务无法启动(1067)问题解决 1,安装目录,将my.ini中的datadir的值更改为:"%安装目录%/data/" 2,进入

远程连接MySQL报错ERROR 2003解决办法

问题代码代码 ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.19' (111) ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.19' (111) 这个 原因就是Mysql数据库的默认配置文件my.cnf(linux下)中的bind-address默认为127.0.0.1,所以就算你创建了可以 remote访问的用户,你也不能使用mys

Mysql闪退问题图文解决办法_Mysql

之前在使用MySQL 5.5 Command Line Client时, 无论输入什么密码,都出现闪退的情况,后来查找资料才发现原来是之前使用360时,将mysql服务给关了,现将解决办法总结如下: 1.桌面找到计算机-->右键选择管理: 2.在管理页面点击服务,展开服务项: 3.在所有服务项中找到mysql服务: 4.鼠标右键点击mysql服务,选择启动,启动mysql服务. 5.再次启动mysql的控制台,输入密码,进入mysql.

mysql提示mysql daemon failed to start解决办法

进到cli模式下,执行 service myqsld start 发现还是提示"mysql deamon failed to start"错误信息.   # /etc/init.d/mysqld start   MySQL Daemon failed to start.   Starting mysqld: [FAILED]   查看mysqld的log文件   #less /var/log/mysqld.log   /usr/libexec/mysqld: Can't change

MySql出现#1036错误提示解决办法

我本以为这已经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 – Table '* ' is read only (*号为任意表),也就是说表只有只读属性. 通过SSH,给数据库文件777权限,dedeadmin是我的数据库文件夹 chmod -R 0777 /usr/local/mysql/var/dedeadmin/ 给数据库目录的所属用户和组改为MySQL chown -R mysql:mysql dedeadmin 但是这样还不能更改数