linux上mysql访问:Access denied for user 'agtipay'@'iZm5ebiyb4f90ga9xiycgsZ' (using password: YES)
公司的聚合支付测试环境出了一个问题(agtipay用户访问数据的时候出现如题错误),快搞死我两天时间(原谅技术不才),如题。首先明确一下问题:
1、访问拒绝,说明数据库连接这里有问题,数据库连接访问拒绝,要么是没有相应的用户操作权限,要么是账号密码错误。
2、iZm5ebiyb4f90ga9xiycgsZ。这个参数说明。首先这个参数是系统/etc/hosts下面配置的ip的映射参数。
3、数据库访问用户含:root 以及agtipay。
4、mysql安装在本机的linux操作系统上面。
再次明确一下问题的奇怪之处:linux本机上只要用主机IP地址访问数据库mysql,就无法连接,只能通过localhost连接。而同样的IP地址形式的JDBC连接从远程主机(用户root以及agtipay)却能正常连接。JDBC也正常.
后面再次排查了一下,明确错误原因:远程主机能连接,说明mysql的远程连接已经打开,访问是正常的,这肯定没问题。服务器本机配置了ip映射在/etc/hosts文件, 在该文件中,机器的ip被DNS系统解释成主机名iZm5ebiyb4f90ga9xiycgsZ。
jboss5数据源配置如下:
<?xml version="1.0" encoding="UTF-8"?> <datasources>
<local-tx-datasource>
<jndi-name>ibs/db/mysql</jndi-name>
<connection-url>jdbc:mysql://ip:端口/pay?useUnicode=true&characterEncoding=gbk&useOldAliasMetadataBehavior=true&autoReconnect=true</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>agtipay</user-name>
<password>rklxi4PbXA8UmtrB</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
<background-validation>true</background-validation>
<background-validation-millis>10000</background-validation-millis>
<new-connection-sql>select 1</new-connection-sql>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<min-pool-size>10</min-pool-size>
<max-pool-size>10</max-pool-size>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
而在mysql的权限管理中, iZm5ebiyb4f90ga9xiycgsZ被配置成只能用root登录。所以导致应用中的agtipay用户无法连接。而远程主机mysql权限本身没有配置agtipay主机名, 所以需要通过mysql的进行权限检查配置给agtipay。
查询权限表SQL如下:
SELECT HOST ,USER FROM mysql.user
解决办法:
执行授权语句(授权语句的解释请自行百度):
GRANT ALL PRIVILEGES ON *.* TO 'agtipay'@'iZm5ebiyb4f90ga9xiycgsZ' IDENTIFIED BY '相应用户ahtipay的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
授权语句说明
参数说明: ALL PRIVILEGES表示赋给远程登录用户的权限,ALL PRIVILEGES表示所有的权限,你也可以单独或组合赋select,update,insert,delete权限;*.*:第一个*表示要赋权的数据库名,*当然表示全部数据库了,第二个*表示数据库下的表名,同理,*表示全部表,像我这样的懒人当然就直接用*.*了,反正都是自己开发用 agtipay表示要赋权的用户;iZm5ebiyb4f90ga9xiycgsZ表示远程登录的IP,如果要限制登录IP的话,这里就添你允许登录的IP,比如192.18.1.99等,%表示不限制IP,相应用户ahtipay的密码是用户远程登录的密码。就这么简单。这句运行以后再运行FLUSH PRIVILEGES,搞定!
授权后,agtipay用户也能通过IP从本地连接, 应用恢复正常。
linux上mysql访问:Access denied for user 'agtipay'@'iZm5ebiyb4f90ga9xiycgsZ' (using password: YES)的更多相关文章
- linux连接mysql 出现Access denied for user 'root'@'localhost'(using password: YES)错误解决方案
linux连接mysql /usr/local/mysql/bin/mysql -uroot -p 输入密码出现Access denied for user 'root'@'localhost'(us ...
- linux下mysql出现Access denied for user 'root'@'localhost' (using password: YES)解决方法
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # my ...
- mysql登录:access denied for user 'root'@'localhost'(using password:YES)
mysql登录: access denied for user 'root'@'localhost'(using password:YES) 解决: use mysql; select user,ho ...
- mysql中Access denied for user 'root'@'localhost' (using password:YES)
关于昨天下午说的MySQL服务无法启动的问题,解决之后没有进入数据库,就直接关闭了电脑. 今早打开电脑,开始-运行 输入“mysql -uroot -pmyadmin”后出现以下错误: “Access ...
- mysql中Access denied for user 'root'@'localhost' (using password:YES)(zhuan)
错误代码 1045Access denied for user 'root'@'localhost' (using password:YES) 如果你的mysql也出现以上这种提示, 建议你逐个字看完 ...
- MySQL 出现 Access denied for user 'root'@'localhost' (using password: YES) 错误
登录某台服务器的mysql时候总报错: mysql2/client.rb:58:in `connect': Access denied for user 'root'@'localhost' (usi ...
- MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
连接时MySQL出现了下面的错误: Access denied for user ‘root’@’localhost’ (using password:YES) 解决的办法是先停止MySQL服务,在m ...
- mac os x 安装mysql遇到 Access denied for user 'root'@'localhost' (using password: YES)的解决方法
最近把开发环境迁移到macbook上,装上mysql启动之后,连接,总是报这个错误.5.5的版本默认密码为空.其实这个错误是root未授权的问题.解决方法如下: 未给localhost root用户授 ...
- mysql中Access denied for user 'root'@'localhost' (using password:YES)错误
此错误主要是由于你的系统曾经装过MYSQL,在重装就会要求输入原来设定的密码 由于输入错误导致 解决办法见 上一篇博客 MYSQL安装时解决要输入current root passwo ...
随机推荐
- iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置
在开发项目的时候,如果是使用故事版设计的架构,那么在设置tabbar小图标的时候,可能会出现一点小问题, 成功的设置方法如下: 1.设置seleectedImage和image,其实就是非选中状态的图 ...
- JVM内存简析
1.程序计数器: 这是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器,线程私有. 2.Java虚拟机栈: 它是Java方法执行的内存模型,每一个方法被调用到执行完成的过程,就 ...
- 理解Javascript__理解undefined和null
来自普遍的回答: 其实在 ECMAScript 的原始类型中,是有Undefined 和 Null 类型的. 这两种类型都分别对应了属于自己的唯一专用值,即undefined 和 null. 值 un ...
- 06.Curator Barrier
分布式Barrier是这样一个类: 它会阻塞所有节点上的等待进程,知道某一个被满足, 然后所有的节点继续进行. 比如赛马比赛中, 等赛马陆续来到起跑线前. 一声令下,所有的赛马都飞奔而 ...
- jenkins multijob 插件使用
如果你想要停止对下游/上游工作链定义的混乱 当您想要添加具有层次结构的任务时,按顺序执行或并行执行 安装multijob插件可以让jenkins任务按照分组.顺序执行 jenkins版本:2.80 1 ...
- dbForge mysql数据库比对
Comparison选项卡,新建一个表结构比较, (将source库的表结构变化应用到target库) 下面示例中,source用positec_uat, target用positec_pro ...
- 160309、Spring AOP操作action时无法注入,报空指针错误
今天帮同事看个问题,action注入失败,代码没问题,主要是stuts2权限移交的问题,特此记录一下 Spring AOP操作action时无法注入,报NullPointer异常 当使用Spring ...
- Sharepoint ECMAScript
前言 本文完全原创,转载请说明出处,希望对大家有用. 本篇博客是个人总结,一方面以便日后查看,另一方面希望能为其他人提供一些便利. 阅读目录 加载必要文件 (Get,Update,Delete,Add ...
- intellij idea 编码设置(乱码问题)
一般把编辑器设置为 utf-8 如下设置: file-->setting-->editor-->file encodings-->
- 华为交换机忘记console的密码,怎么恢复出厂设置
第一步:一般情况下由于密码忘记我们会被阻挡在交换机telnet远程管理界面之外. 第二步:虽然可以尝试console线连接交换机的控制接口,但是很多时候这个密码也被网络管理员进行了设置,不巧的是如果这 ...