Mysql

管理員拒絕使用者訪問

  • February 2, 2020

對不起我的英語,我對伺服器的了解非常少……

我在我的電腦上安裝了 Mysql、Adminer、php-7.3 和 Apache2。我想嘗試建立一個數據庫,但為了得到這個警告,

使用者 ‘me’@’localhost’ 拒絕訪問數據庫 ‘mela’

mela是我嘗試建立的新數據庫,是我在 Adminer 上的使用者名。當用 登錄 Mysql 時sudo mysql -u root,在SELECT User,Host FROM mysql.user;我來這個,

SELECT User,Host FROM mysql.user;
   +------------------+-----------+
   | User             | Host      |
   +------------------+-----------+
   | root             | %         |
   | me               | localhost |
   | mysql.infoschema | localhost |
   | mysql.session    | localhost |
   | mysql.sys        | localhost |
   +------------------+-----------+

隨著sudo sudo journalctl -xe來,

pam_unix(sudo:session): 由 (uid=0) 為 root 使用者打開的會話

sudo systemctl -l status apache2.service

1 月 31 日 17:24:00 debian systemd 1:啟動 Apache HTTP 伺服器… Jan 31 17:24:00 debian systemd 1:啟動 Apache HTTP 伺服器。

有了sudo systemctl status mysql這張圖片, 這張圖片展示了mysql是如何啟動的

Show grants;這個圖像 這個命令有什麼

請任何人用簡單的話解釋我,我的錯誤在哪裡?

新安裝Mysql並以****root身份登錄,現在可以在Adminer上打開數據庫…,我要說我的步驟…,我使用 Debian。

1 -停止Apache2

sudo systemctl stop apache2.service

2 - 從我的電腦上的Mysql中刪除所有內容

注意:這可能會刪除一堆其他任何連結到 MySQL 的包,請仔細閱讀將刪除的內容。

sudo apt-get remove --purge *mysql\*
sudo apt-get autoremove
sudo apt-get autoclean

3 -因為我從MySQL中刪除了所有內容,所以現在安裝它們……

sudo apt-get install mysql-server

4 -另外,安裝Mysqli,因為我的電腦上有php7.3 ,所以我用php7.3安裝Mysql

sudo apt-get install php7.3-mysqli

5 -有時我不知道為什麼..後來安裝了Mysql,來了這個警告,

連接錯誤:SQLSTATE

$$ HY000 $$ $$ 2054 $$伺服器請求客戶端未知的身份驗證方法

正如這裡所說,預設情況下,由於某種原因,mysql 8 預設外掛是 auth_socket。應用程序大多數時候都希望使用 密碼登錄到您的數據庫。我這樣做了,我登錄到Mysql,我給出了我在安裝時寫的root 密碼……

~$ mysql -u root -p 

並寫下他要說的命令,

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';  

6 -重啟Mysql

sudo systemctl restart mysql

7 -重新啟動Apache2

sudo systemctl restart apache2.service

8 -Adminer登錄視窗,以root身份登錄,以及視窗如何顯示,我可以建立mela數據庫… 視窗來顯示我的mela數據庫

@Abhijith,感謝您的回答,祝您有美好的一天!

由於錯誤表明使用者“我”沒有數據庫“mela”的權限

要確認這一點,請以 mysql 使用者“me”身份執行以下命令

顯示贈款;

如果使用者對數據庫有權限,它將顯示

引用自:https://serverfault.com/questions/1001274