簡體   English   中英

使用帶密碼的mysql_connect無法連接到mysql 5.0.8

[英]Cannot connect to mysql 5.0.8 using mysql_connect with password

我可以使用PHP連接到我的mysql數據庫,沒有密碼。 但是,當我在phpmyadmin中添加密碼時,我無法再連接。 我一直得到錯誤:

"Could not connect: Access denied for user 'admin'@'localhost' (using password: YES)"

我嘗試使用MySQL密碼4.0和4.1+的兩種設置,結果相同。

mysql_connect ("127.0.0.1", "admin", "password") or  die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");

有沒有人知道這里會發生什么?

編輯:如果我關閉密碼,我可以訪問它。 似乎有一些誤解

根據您顯示的mysql_connect語句,您嘗試以admin@'127.0.0.1'進行連接。 這需要使用TCP / IP連接到mysql。 如果您以admin@localhost身份連接,則使用mysql.sock(套接字文件)連接到mysqld。

您應該運行此查詢

SELECT user,host,password FROM mysql.user WHERE user='admin';

您應該看到admin@localhost定義。 你可能不會看到admin@'127.0.0.1' 您可以添加它,但只是為admin@localhost編碼更容易。

嘗試更改代碼,如下所示:

mysql_connect ("localhost", "admin", "password") or  die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");

如果你可以在沒有密碼的情況下連接mysql,那么你的mysql安裝就不安全了。

您需要為admin @ localhost添加密碼並刪除匿名用戶登錄,如下所示:

UPDATE mysql.user SET password=password('whateverpassword')
where user='admin' and host='localhost';
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;

這是另一個建議:像這樣創建admin@127.0.0.1用戶:

GRANT ALL PRIVILEGES ON *.* TO admin@'127.0.0.1' IDENTIFIED BY 'whateverpassword';

並嘗試您的原始代碼

這可能有所幫助

腳步-

  1. 去phpmyadmin;
  2. 單擊要更改pw的數據庫(左側);
  3. 點擊“特權”;
  4. 單擊root用戶右側的“編輯權限”圖標以獲取localhost。
  5. 轉到“更改密碼”塊;
  6. 勾選“密碼”單選按鈕;
  7. 輸入密碼並重新輸入該密碼;
  8. 打勾:...保留舊的。
  9. 點擊“開始”;
  10. 現在從WAMPSERVER菜單打開MySql控制台;
  11. 它會問你一個pw - 只是點擊返回因為你還沒有它(下次你去控制台時你需要輸入你進入這里的新pw)。 輸入以下內容:

    UPDATE mysql.user SET Password = PASSWORD(“xxxxxx”)WHERE User =“root”; (其中xxxxxx是您在上一步中輸入的密碼)。

  12. 現在輸入:FLUSH PRIVILEGES;

  13. 轉到您的WAMP或MAMP文件夾,找到APPS文件夾,然后單擊您的PHPMYADMIN文件夾(例如我的文件夾名為phpmyadmin2.11.6)並找到config.inc.php

  14. 用wordpad打開config.inc.php並找到以下文本:

$cfg['Servers'][$i]['password'] = '';

現在添加您在步驟3中使用的密碼,如下所示:

$cfg['Servers'][$i]['password'] = 'yourPasswordHere';

  1. 現在保存此修改,並關閉config.inc.php

你現在應該全部准備好了!

來源 - http://www.knowledgesutra.com/discuss/tsilti-php-myadmin-access-mysql-database.html

您的用戶名或密碼不正確。 確保正確鍵入它們,而不留下尾隨空格。 用戶名和密碼區分大小寫。

如果您通過phpMyAdmin篡改MySQL用戶數據,您必須執行

FLUSH PRIVILEGES

命令以使新規則適用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM