本文目錄一覽:
- 1、用heidisql連接遠程mysql數據庫提示SQL錯誤1045,Access denied for…
- 2、phpmyadmin鏈接MySQL 輸入HTTP://localhost/phpmyadmin後標題欄顯示access denied 怎麼回事啊?
- 3、連接SQL數據時出現這個access denied for user ‘用戶名’@’IP地址’是什麼意思?
- 4、為什麼php的 sql.safe
用heidisql連接遠程mysql數據庫提示SQL錯誤1045,Access denied for…
您好,應該是連接遠程的mysql服務器。
此時mysql需要開一下遠程連接。
1.登陸mysql控制台,執行: grant all privileges on *.* to ‘root’@’%’ identified by ‘yourpassword’;
2.修改 my.cnf 將:bind-address = 127.0.0.1 注釋掉
3.重啟mysql
4.如果還是不可以就看看防火牆設置。如果在Linux中,需要看看iptables允許訪問3306端口的遠IP。還是不可以的哈,看看/etc/hosts.deny有沒有講mysqld關閉。
phpmyadmin鏈接MySQL 輸入HTTP://localhost/phpmyadmin後標題欄顯示access denied 怎麼回事啊?
這說明你沒有權限,這個你應該apache的配置文件裡面修改就可以了 查找 deny from all 改為allow from all 就可以了。
連接SQL數據時出現這個access denied for user ‘用戶名’@’IP地址’是什麼意思?
因為數據庫設置了訪問權限設置,需要幫你在為這個用戶這個ip開通權限
為什麼php的 sql.safe
CentOS + Apache + Tomcat +
MySQL為主,另外裝了PHP以提供靈活應用。裝完PHP我放了個phpMyAdmin,一切正常,之後又放了個Discuz
7,結果就大跌眼鏡了:我明明填寫了正確的數據庫用戶名與密碼,它老提示我連接被拒絕,mysql_error報的信息大概是這樣子:Access
denied for ‘root’@’localhost’, using password NO。連接被拒就算了,還非說我沒有用密碼?
想想phpMyAdmin也是PHP寫的,都能正常連接,我實在是想不通這個問題,不知何從。後來網上搜一搜,國內沒見有人提類似問題,國內的Access Deny基本都是mysql用戶權限有問題;還好我在英文網站上找到了答案:原來是sql.safe_mode惹的禍,在php.ini里找到此項,將其置為Off就好了。附PHPDig里關於sql.safe_mode的說明:
寫道
If sql.safe_mode
is enabled, mysql_connect() and mysql_pconnect() ignore any arguments
passed to them. Instead, PHP attempts to connect using the following
details:
* host: local host
* user: the user PHP runs as
* password: an empty string (“”)
我想只所以稱之為sql.safe_mode,就是啟用它之後,PHP源碼里不會出現數據庫用戶名與密碼,這樣源碼外泄也不會暴露數據庫用戶信息。
原創文章,作者:KWZH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148945.html