web:/home/web/install/tomcat8_sm1/logs> mysql -h10.0.29. -u loan -p loan
Enter password:
ERROR 1045 (28000): Access denied for user 'loan'@'kfcsdb1' (using password: YES)

问题:最近项目中遇到个奇怪问题,同事搭建的web服务中的JDBC连接,只要用主机IP地址,就无法连接,只能通过localhost连接。而同样的IP地址形式的JDBC连接从远程主机却能正常连接。JDBC也正常

原因:因为远程主机能连接,说明mysql的远程连接已经打开. 最后排查发现,服务器本机配置了/etc/hosts, 在该文件中,10.0.29.205被DNS系统解释成主机名kfcsdb1.

而在mysql的权限管理中, kfcsdb1被配置成只能用root登录。所以导致WEB应用中的loan用户无法连接。而远程主机本身没有配置kfcsdb1主机名, 所以能通过mysql的权限检查。

解决: 从本地登录mysql, 将kfcsdb1和10.0.29.205授权给loan用户, 解决问题

web:/home/web/install/tomcat8_sm1/logs> mysql -hlocalhost -uloan -ploan
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.4.-beta-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Database changed
mysql> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | loan |
| 127.0.0.1 | root |
| kfcsdb1 | |
| kfcsdb1 | root |
| localhost | |
| localhost | loan |
| localhost | root |
+-----------+------+
rows in set (0.00 sec)

以上红色就是无法本地通过IP登录的原因,而localhost是可以的

mysql> GRANT ALL PRIVILEGES ON *.* TO 'loan'@'kfcsdb1' IDENTIFIED BY 'loan' WITH GRANT OPTION;
Query OK, rows affected (0.01 sec) mysql> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | loan |
| 127.0.0.1 | root |
| kfcsdb1 | loan |
| localhost | |
| localhost | loan |
| localhost | root |
+-----------+------+
rows in set (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'loan'@'10.0.29.205' IDENTIFIED BY 'loan' WITH GRANT OPTION;
Query OK, rows affected (0.00 sec) mysql> select host,user from user;
+-------------+------+
| host | user |
+-------------+------+
| % | loan |
| 10.0.29.205 | loan |
| 127.0.0.1 | root |
| kfcsdb1 | loan |
| localhost | |
| localhost | loan |
| localhost | root |
+-------------+------+
rows in set (0.00 sec)

授权后,loan用户也能通过IP从本地连接, WEB应用JDBC连接也能正常了

一个本地DNS解析和mysql授权导致的Mysq连接失败问题(Access denied for user 'loan'@'kfcsdb1' (using password: YES))的更多相关文章

  1. Linux下登陆MySQL时遇到报错"RROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) "

    前言 作者在2021-07-21时遇到 linux下登陆MySQL时遇到报错"RROR 1045 (28000): Access denied for user 'root'@'localh ...

  2. 本地MySQL的root所创建用户登录发生[Access denied for user 'root1'@'localhost' (using password: YES)]错误的解决方案

    1.问题描述: 当在SQLyog中执行以下脚本: CREATE DATABASE IF NOT EXISTS sys; USE sys; CREATE USER root1 IDENTIFIED BY ...

  3. mysql登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问 对于出现拒绝访问root用户的解决方案错 ...

  4. MySQL在登陆时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误

    错误显示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1.找到配 ...

  5. Mysql忘记密码:关于ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)的问题

    命令行登录mysql时,出现ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)的提示. ...

  6. CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解决方法

    1.停用mysql服务:# /etc/rc.d/init.d/mysqld stop 2.输入命令:# mysqld_safe --user=mysql --skip-grant-tables --s ...

  7. MySQL for Linux错误: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    参考链接:http://www.cnblogs.com/gumuzi/p/5711495.html

  8. Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES)

    MySQL创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES) ,多半是因为存在匿名用户, ...

  9. Ubuntu下MySQL报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    在Ubuntu下 想要登录mysql数据库 root@JD:~# mysql -uroot -p 报错 ERROR 1045 (28000): Access denied for user 'root ...

随机推荐

  1. [翻译] GMCPagingScrollView

    GMCPagingScrollView https://github.com/GalacticMegacorp/GMCPagingScrollView GMCPagingScrollView is a ...

  2. swift版的CircleView

    swift版的CircleView 效果图 源码 // // CircleView.swift // CircleView // // Created by YouXianMing on 15/10/ ...

  3. 获取 docker 容器(container)的 ip 地址

    获取单个IP docker inspect --format '{{ .NetworkSettings.IPAddress }}'  <container-ID> 获取所有容器IP doc ...

  4. Python成员运算符

    Python成员运算符 其他语言没有,是否包含运算符,主要应用在字符串或者集合中 测试实例中包含了一系列的成员,包括字符串,列表或元组. #使用场景01:字符串是否包含另外一个字符串? str01 = ...

  5. 查找数据库表中重复的 Image 类型值

    直接上代码: SELECT * FROM [dbo].[V_Courseware] ))) IN ())) FROM [dbo].[V_Courseware] ))) ); 替换以上代码中相应对象即可 ...

  6. lambda 形参:返回值 lambda 匿名函数 格式:

    lambda 匿名函数 格式: lambda 形参:返回值 e.g f = lambda n:n**2 print(f(10))

  7. 17:54 思维导图coggle布置好了

    钱不是好赚的,要赚钱就要冒险,就会有损失.为了家庭还是旱涝保收一点好,没有现金流什么都是白搭,通过博客来学习也是件不错的是,问题是我现在完全没有想法,比如冒泡算法什么的,没有概念,背不出来,其实可以推 ...

  8. vs环境变量学习

    1. 查看vs环境变量: 在项目设置中的任何路径.目录编辑项目下,右下角有个“宏”,点开即可见所有vs环境变量的当前设置...听说还有其它地方,没看到. 2.上边的“宏”,即是英文的vs环境变量 3. ...

  9. [李居丽][다이아몬드][Diamond]

    歌词来源:http://music.163.com/#/song?id=484056974 作曲 : Damon Sharpe/JOHN HO/JEFF SHUM [作曲 : Damon Sharpe ...

  10. [WHY]Hello, Worktile~

    本来是水水的去听一听云计算大会,感受一下氛围的, 万万没想到,竟然意外的參观了Worktile,这也成了北京之旅最值得纪念的记忆. 先是路上看到QQ有个好友请求,备注是Worktile市场的小泽. 从 ...