使用 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)
好像是主机名的问题,具体因为啥不太清楚,请教一下大家,谢谢
用下面這個試試!
的先用root帳號進去看看newuser有沒有連接localhost的權限
mysql裡的localhost指的是本機,不是機器名稱
問題解決了,請教了一位熟悉 docker 的大神:
需要這樣來創建:
CREATE USER 'newuser'@'%' IDENTIFIED BY '12345';
查看使用者與主機:
select host, user, password from mysql.user;
回頭的東西像這樣:
3 rows in set (0.00 sec)