mysql客户端授权后连接失败问题

在本地(192.168.1.152)部署好mysql环境,授权远程客户机192.168.1.%连接本机的mysql,在iptables防火墙也已开通3306端口。
如下:
mysql> select host,user,password from mysql.user;
+--------------+-----------------+---------------------------------------------------------+
| host              | user                 | password                                                                  |
+--------------+-----------------+----------------------------------------------------------+
| localhost       | root                 |                                                                                  |
| fdm1            | root                 |                                                                                  |
| 127.0.0.1     | root                 |                                                                                  |
| localhost       |                        |                                                                                  |
| fdm1 | | |
| 192.168.1.% | db_hqsb         | *DFC9DC16B13651A95ECEC3A26E07D244431B55C9 |
| 192.168.1.% | db_ro_hqsb    | *2C0B0DD50595BB40879110437BEEF026D019DFB7 |
| 192.168.1.% | db_jkhwuser   | *2C0B0DD50595BB40879110437BEEF026D019DFB7 |
| 192.168.1.25| slave               | *EE52B8EACB3CCD13624273AD6B5CDA52B9B53EB7 |
| 192.168.1.% | tech_db_user  | *6053E57C7B61043DC2C6B4E3291D5F61CCC23F5C |
| 192.168.1.% | game_db_user| *05EA4D71C9A1273ECF3E24E6323F7175AE45C366  |
| localhost        | zabbix            | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9  |
+---------------+---------------+------------------------------------------------------------+

问题:
在客户机(比如192.168.1.20)上远程连接上面192.168.1.152机器的mysql,连接失败!
[[email protected] ~]# mysql -udb_ro_hqsb -h 192.168.1.152 -pmhxzkhl0802xqsjdb
ERROR 1130 (HY000): Host ‘192.168.1.20‘ is not allowed to connect to this MySQL server

解决:
是由于192.168.1.152的mysql里“host为localhost,user和password为空”这条语句导致的,删除这条即可解决问题!

mysql> delete from mysql.user where host="localhost" and user="";
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

这样,授权连接的客户机就能成功连接了!
[[email protected] ~]# mysql -uxqsj_db_ro_user -h 192.168.1.152 -pmhxzkhl0802xqsjdb
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql>

时间: 2024-10-13 11:34:59

mysql客户端授权后连接失败问题的相关文章

mac 修改mysql 密码, navicat 连接失败原因

1.cd /usr/local/mysql/bin/?2.sudo su输入之后会要求输入你的计算机密码,输入的时候是什么都不显示的,输完后回车 3. ./mysqld_safe --skip-grant-tables &这一步的作用是跨过权限验证? 4../mysql -u root 用另一窗口以root身份登录,因为第三步的原因不需要密码了. 5. update user set authentication_string='root123' where User='root';? Navi

【BUG & PROBLEM】mysql远程连接失败

问题描述 今天在云主机上用mysql客户端连接远程数据库,提示连接失败.提示 Host "62.183.38.xx" is not allow to connect the mysql server. Host 是我外网的IP.关闭云主机防火墙和启动mysql服务都无效. 解决方案 之后查了相关网友的资料后,找到原因,是由于mysql默认没有开启远程连接的权限.因此在mysql命令行中开启权限,问题解决! mysql > GRANT ALL PRIVILEGES ON *.* T

mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 详细出处参考:http://www.jb51.net/article/32284.htm

MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效.在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常 解决这个问题的办法有三种: 1. 增加 MySQL 的 wait_timeout 属性的值. 修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: # Set a connection to w

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题以及更改mysql默认编码

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题: 前言,服了这些大公司,做的数据库都不人性化...我忙了很久才搞定的说 csdn好像传不了图片了...本来想来几张的,大家将就... 1.在windows下mysql的数据库是utf8编码的时候,连接失败(注意mysql中不是UTF-8,而是utf8) 情况,显示?在网页上(网页设置的UTF-8编码) 用户ID号码 用户名称 用户密码 用户地址 47 g? 1243 null 48 ? 1243 null 49 ?123

phpmyadmin登录后显示“使用配置文件中定义的控制用户连接失败。”错误提示

在安装完XAMPP后,设置mysql中root账户密码为123456,并修改phpmyadmin配置中root的密码为123456之后,但是phpmyadmin登录后显示"使用配置文件中定义的控制用户连接失败."错误提示. 这是因为还有一些配置信息没有更改导致的,具体设置步骤如下: 1.找到phpmyadmin文件夹下面的config.inc.php文件并打开,找到这两行代码: $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Serv

MySql安装完成后,Navicat连接不上的问题

Navicat连接mysql8.0.1版本出现1251--Client does not support authentication protocol requested by server的解决 好不容易安装好mysql,但又出现了mysql客户端版本太低的问题.根据参考的这篇教程,完美的解决了该问题. 1.通过命令行进入解压的mysql根目录下. 2.登陆数据库 mysql -uroot -p 3.再输入root的密码: Enter password: ****** Welcome to

Centos上安装mysql配置并授权远程连接

1.通过yum来进行mysql安装 查看yum上提供的mysql数据库可下载的版本: yum list | grep mysql 通过yum install -y mysql-server mysql mysql-deve命令将mysql mysql-server mysql-devel都安装好,出现如下信息标识mysql安装成功: 2.初始化及相关配置 通过service mysqld start命令启动mysql 通过mysqladmin -u root password 'root'给ro

mysql 8小时空闲后连接失效的解决

查了一下发现应用程序和mysql数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接 .这时再次访问就会抛出异常. 关于mysql自动断开的问题研究结果如下, 1.在自己的程序中插入定时访问数据库的方法,比如使用Timer,Quartz或者spring中简易Quartz. 2.在mysql中有相关参数设定,当数据库连接空闲一定时间后,服务器就会断开等待超时的连接:相关参数mysql> show variables like '%timeout%';+--------------

centos 安装mysql密码修改后还是不能连接的原因

centos 上安装mysql密码修改后还是不能连接出现错误:ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user' 解决方法: 1.退出mysql mysql> quit; Bye 2.执行下面语句 [[email protected] 桌面]# mysqld_safe --skip-grant-table 3.删除空用户 mysql -uroot  mysql delete from