docker - MySQL 报错:Access denied for user 'xxx'@'localhost'
迷茫
迷茫 2017-04-17 15:03:55
0
4
621

使用 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)

好像是主机名的问题,具体因为啥不太清楚,请教一下大家,谢谢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(4)
巴扎黑

用下面這個試試!

mysql --host=db -u root -p 
黄舟

的先用root帳號進去看看newuser有沒有連接localhost的權限

小葫芦

mysql裡的localhost指的是本機,不是機器名稱

巴扎黑

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

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

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

回頭的東西像這樣:

host user password
% root *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
% app *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1
% newuser *00A51F3F48415C7D4E8908980D443C29C69B60C9

3 rows in set (0.00 sec)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!