ERROR 1142 (42000): SELECT command denied to user 'username'@'192.168.65.1' for table 'user'
前提
usernameというユーザーの設定を、以下のようにした。
mysql> SELECT user, host FROM mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| username | 127.0.0.1 |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
エラー
mysql -h 127.0.0.1 -P 3316 -u root -p
で接続実施したとき、
ERROR 1142 (42000): SELECT command denied to user 'usrename'@'192.168.65.1' for table 'user'
となった。
原因
- docker desktopを起動しているため、コンテナ内のDBへ接続時は、仮想ネットワークに192.168.65.1から繋ぎに行かないといけない
- macではdocker daemonの起動にdocker desktopが必要
のが原因な様子
解決
localhostから繋ぎたかっただけなので、
設定を以下にして解決(mysql -h 127.0.0.1 -P 3316 -u root -p でloginして、 RENAME USER 'testuser2'@'127.0.0.1' TO 'testuser2'@'192.168.65.1'; )
mysql> SELECT user, host FROM mysql.user;
+---------------+--------------+
| user | host |
+---------------+--------------+
| root | % |
| username | 192.168.65.1 |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+--------------+
DBeverからは 127.0.0.1:3316で繋がる