您的位置:首頁技術文章
文章詳情頁

docker - MySQL 報錯:Access denied for user ’xxx’@’localhost’

瀏覽:99日期:2022-06-20 14:02:53

問題描述

使用 MySQL 創建一個新的用戶,理論上是這樣的,先用 root 用戶登錄,然后CREATE USER ‘newuser’@‘localhost’ IDENTIFIED BY ’12345’;用 docker 搭建的開發環境,數據庫主機的名字是 db 不是 localhost,于是 CREATE USER ‘newuser’@‘db’ IDENTIFIED BY ’12345’;

然后我登錄遇到問題了:mysql -u newuser -p輸入密碼后提示Access denied for user ’newuser’@’localhost’ (using password: YES)

好像是主機名的問題,具體因為啥不太清楚,請教一下大家,謝謝

問題解答

回答1:

用下面這個試試!

mysql --host=db -u root -p 回答2:

的先用root賬戶進去看看newuser有沒有連接localhost的權限

回答3:

mysql里的localhost指的是本機,不是機器名

回答4:

問題解決了,請教了一位熟悉 docker 的大神:需要這樣來創建:

CREATE USER ’newuser’@’%’ IDENTIFIED BY ’12345’;

查看用戶與主機:select host, user, password from mysql.user;

返回的東西像這樣:

hostuserpassword%root*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B%app*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1%newuser*00A51F3F48415C7D4E8908980D443C29C69B60C9

3 rows in set (0.00 sec)

相關文章:
国产综合久久一区二区三区