一次數據庫鏈接提示權限的問題

此次有點難搞,因爲第一次使用nginx和php的php-fpm,mysql也是使用第三方修改過mysql(http://www.percona.com/ 這是加強版的mysql,一個dba推薦給我 ),因此以爲有點難搞,首先就是去檢查數據庫用戶是否遠程登陸,因而登陸mysql,發現的確是不容許遠程登陸到mysql,然php

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

後就受權遠程登陸依然執行程序時依然是拒絕,而後我就懷疑是否與php-fpm執行用戶有關,因而又去看了一遍php-fpm的配置文件,沒有看到有配置用戶或者權限,真是蛋疼,而後又把關的日誌文件都翻了一次,沒有任何記錄,mysql

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的用戶表中查看主機與用戶名的對應關係,原來是主機與用戶對應關係不一致nginx


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)
相關文章
相關標籤/搜索