mysql root 访问被拒绝_mysql-“连接失败:用户'root'@'localhost'(使用密码:是)的访问被拒绝”...
mysql-“連接失敗:用戶'root'@'localhost'(使用密碼:是)的訪問被拒絕”
這個問題在這里已有答案:
MySQL錯誤1045(28000):用戶'bill'@'localhost'的訪問被拒絕(使用密碼:是)???????????????????????????????????? 35個答案
我寫了一些PHP網頁使用的函數,以便與mysql數據庫進行交互。 當我在服務器上測試它們時,出現此錯誤:
"Connect failed: Access denied for user 'root'@'localhost' (using password: YES)"
我可以在我的PC上使用它們(使用XAMPP),并且可以使用服務器中的命令行瀏覽數據庫的表。 但是,網頁無法連接。 我檢查了密碼,但沒有結果。 是正確的(否則我無法從命令行登錄mysql)。
該函數的調用如下:
$conn = new mysqli("localhost", "root", "password", "shop");
我必須在服務器中設置一些內容嗎? 謝謝
編輯:PHP版本5.3.3-7 + squeeze1mysql版本:5.1.49-3都在debian上
gc5 asked 2019-11-05T07:08:03Z
11個解決方案
76 votes
我以這種方式解決了:我使用root用戶名登錄
mysql -u root -p -h localhost
我創建了一個新用戶
CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
然后我創建了數據庫
CREATE DATABASE shop;
我為此數據庫的新用戶授予了特權
GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
然后我注銷root并登錄新用戶
quit;
mysql -u francesco -p -h localhost
我使用腳本重建了數據庫
source shop.sql;
就是這樣..現在從php調用時不會出現問題
$conn = new mysqli("localhost", "francesco", "some_pass", "shop");
感謝您的時間:)
gc5 answered 2019-11-05T07:09:04Z
10 votes
數據庫中是否有root @ localhost的用戶帳戶條目? 在MySQL中,您可以按主機設置不同的用戶帳戶權限。 可能有多個具有相同名稱的不同帳戶,并與它們從其連接的主機結合在一起。 最常見的是root@127.0.0.1和root @ localhost。 這些可以具有不同的密碼和權限。 確保root @ localhost存在并且具有您期望的設置。
根據您的解釋,我愿意打賭這是問題所在。 從另一臺PC連接使用的帳戶不同于root @ localhost,我認為使用root@127.0.0.1。連接的命令行。
queso answered 2019-11-05T07:09:37Z
7 votes
到目前為止,您所說的聽起來像是一個問題,其中PHP5.3中的MySQL驅動程序無法連接到較早的MySQL版本4.1。 看看[http://www.bitshop.com/Blogs/tabid/95/EntryId/67/PHP-mysqlnd-cannot-connect-to-MySQL-4-1-using-old-authentication.aspx]
這里有一個類似的問題,提供了一些有用的答案:無法使用舊的身份驗證連接到MySQL 4.1+
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
對于使用舊密碼的帳戶,這將返回16;對于使用新密碼的帳戶,它將返回41(對于完全沒有密碼的帳戶,將返回0;您可能還需要注意這些)。?? 使用MySQL前端的用戶管理工具(如果有)或
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges
Jack Murdoch answered 2019-11-05T07:10:18Z
5 votes
我也有這個問題。 但這是由于另一個原因。我的密碼以$字符開頭...例如 $MyPassword我將其更改為#MyPassword,問題已解決。
LowLevel answered 2019-11-05T07:10:43Z
4 votes
也許在這里?
我認為代碼應為:
(using password: YES)
因為root沒有密碼。 (using password: YES)說“您正在為此用戶使用密碼”
Pseudo Nym answered 2019-11-05T07:11:29Z
1 votes
小費:
如果無法連接到服務器,請注釋掉pid和套接字文件。mysql可能連接了不正確的pid和/或套接字文件,因此,當您嘗試連接服務器低谷命令行時,它“看起來”在不正確的pid / socket文件中...
#pid-file = / var / run / mysql / mysqld.pid#socket = / var / lib / mysql / mysql.sock
Dutch Glory answered 2019-11-05T07:12:03Z
1 votes
很可能是無法正確識別您的用戶。 root @ localhost。選擇您的MAMP使用的Mysql版本。
/Applications/MAMP/Library/bin/mysqldump -uroot -p db_name > test_db_dump.sql
實際上,我在計算機上寫了一個別名,因此不必記住如何進入bin目錄。
~/.bash_profile
這使我可以運行此命令:
~/.bash_profile
您可以在bash個人資料中保存別名~/.bash_profile或~/.bash_rc
camdixon answered 2019-11-05T07:13:06Z
1 votes
簡單。
使用記事本打開xampp控制面板->配置-> my.ini編輯。 現在在[mysqld]下添加它
skip-grant-tables
救。 啟動apache和mysql。
希望對你有幫助
Miku jessi answered 2019-11-05T07:13:47Z
1 votes
可能在那里沒有設置密碼,并且您正在傳遞密碼作為參數。嘗試在連接過程中省略password參數。
Shrinivas Manjithaya answered 2019-11-05T07:14:16Z
0 votes
編輯您對PHPmyAdmin(WAMP)的特權,請注意,尚未創建您的密碼和用戶名。 因此,請創建或編輯它,使其與php中的sql連接一起使用。希望能奏效
Adesina Yomi answered 2019-11-05T07:14:45Z
-1 votes
嘗試初始化變量并在連接對象中使用它們:
$username ="root";
$password = "password";
$host = "localhost";
$table = "shop";
$conn = new mysqli("$host", "$username", "$password", "$table");
Greg answered 2019-11-05T07:15:12Z
總結
以上是生活随笔為你收集整理的mysql root 访问被拒绝_mysql-“连接失败:用户'root'@'localhost'(使用密码:是)的访问被拒绝”...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 芜湖c语言市赛答案,安徽省芜湖市2021
- 下一篇: 泛函分析简列:度量空间之Banach空间