欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

一次数据库连接提示权限的问题

程序员文章站 2024-04-06 09:51:37
...

这次有点难搞,由于第一次使用nginx和php的php-fpm,mysql也是使用第三方修改过mysql(http://www.percona.com/这是增强版的mysql,一个dba推荐给我),所以觉得

这次有点难搞,由于第一次使用nginx和php的php-fpm,mysql也是使用第三方修改过mysql( 这是增强版的mysql,一个dba推荐给我 ),所以觉得有点难搞,首先就是去检查数据库用户是否远程登录,于是登录mysql,,发现的确是不允许远程登录到mysql,然

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

后就授权远程登录依然执行程序时依然是拒绝,然后我就怀疑是否与php-fpm执行用户有关,于是又去看了一遍php-fpm的配置文件,没有看到有配置用户或者权限,真是蛋疼,然后又把关的日志文件都翻了一次,没有任何记录,

more /var/log/message #系统级别的 more /var/log/mysql #mysql的这里倒是有一条说这台机器不能解释名称或者服务未知的,难以理解 #2014-04-08 22:46:45 5044 [Warning] IP address '183.29.144.92' could not be resolved: Name or service not known 接着去查看 /etc/hosts #localhost 解释没有问题 more /usr/local/php/var/log #php的没有错误的报告

后来干脆就直接写个简单mysql函数测试能不能连接数据库,结果是连接上了,可是不能明白,我之前的程序不可以,于是打开程序mysql配置文件,发现是使用localhost作为主机地址的,所以连接不了数据库,于是又返回到mysql的用户表中查看主机与用户名的对应关系,原来是主机与用户对应关系不一致


mysql> select User,Host from user; +-------+-----------+ | User | Host | +-------+-----------+ | root | % | | zhuan | % | | root | 127.0.0.1 | | root | ::1 | | | cloud | | root | cloud | | | localhost | | root | localhost | +-------+-----------+ 8 rows in set (0.00 sec)


本文出自 “Freax” 博客,请务必保留此出处