2014-02-17 46 views
0

我剛剛建立了一個Ubuntu網絡服務器(我是Linux新手),並且在經歷了很多問題之後,我終於開始設置我的網站了。但是,我無法使用IP地址或「localhost」連接到本地數據庫。 PHPMyAdmin工作得很好,但即使我使用與PHPMyAdmin相同的訪問細節,我也無法連接到MySQL。Ubuntu上的所有帳戶都拒絕MySQL訪問,但PHPMyAdmin工作正常嗎?

我用下面的PHP代碼(這工作得很好我的筆記本電腦和我的其他服務器上)連接:

mysqli_connect($server, $username, $password, $database); 

我創建了一個全新的帳戶,並授予完全權限,但沒有運氣。

如果我使用的IP地址連接時,我得到以下錯誤:

Not connected : Can't connect to MySQL server on '(ip address)' (111) 

如果我使用 'localhost' 的,我得到以下錯誤:

Not connected : Access denied for user 'newuser'@'localhost' (using password: YES) 

我100%確保密碼是正確的,並且看到PHPMyAdmin工作正常,我相信MySQL服務正在運行。

任何幫助,將不勝感激!

編輯:選擇*從mysql.User;

localhost root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 
ns3367936 root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 
127.0.0.1 root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 
::1 root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 
localhost N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 ‌​0 NULL 
ns3367936.ip-37-187-88.eu N N N N N N N N N N N N N N N N N N N N N N N N N N ‌​N N N 0 0 0 0 NULL 
localhost debian-sys-maint *7866534019D21D9BA648FD769CFAAD256D2F7438 Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N 0 0 0 0 NULL 
localhost phpmyadmin *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 N N N N N N N N N‌​ N N N N N N N N N N N N N N N N N N N N 0 0 0 0 NULL  
localhost newuser *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y ‌​N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 NULL 
+0

請運行'SELECT * FROM mysql.User; '在phpmyadmin中粘貼輸出。 – dotancohen

+1

PHPMyAdmin使用本地主機。你有用戶帳戶標記爲訪問(通常通過IP,除非使用SSH/SSL)? –

+0

我設法通過停止mysql服務「sudo service mysql stop」來解決這個問題,並像這樣「sudo mysqld_safe --skip_grant-tables」再次啓動它。是否可以在安全模式下運行mysql,或者是否存在永久修復? datamafia,不,我不認爲我這樣做。 –

回答

0

你得到的錯誤,而試圖因爲你沒有創建針對被允許訪問MySQL從127.0.0.1的IP地址「NEWUSER」的帳戶從127.0.0.1登錄。

查看您的「根」帳戶。

有4分佔 '根' 即[email protected][email protected][email protected]::1[email protected]

MySQL帳戶需要用戶名和主機。你只有'newuser @ localhost`,你也需要[email protected],如果你有IPV6運行,也可能是root @ :: 1

當然你也可以編輯現有的'newuser'賬號和wilcard主機,以便該用戶可以從任何主機登錄。

在這種情況下的主機我總是發現是一個誤導性的名字,實際上它意味着用戶試圖登錄的位置。因此,如果您想讓'newuser'帳戶從遠程位置登錄,您也可以添加[email protected]帳戶,假設您的家庭IP地址爲11.22.33.44

+0

非常感謝您的幫助。這似乎奏效了! –

+0

現在去改變你剛剛與我們分享的所有密碼:) –

+0

別擔心。他們都是測試的虛擬賬戶:) –