无法使用拥有MySQL数据库所有权限的用户连接到MySQL数据库
让我描述一下我的问题: 我有一个数据库,只能由一个用户操作(除了管理员)。我通过(无法使用拥有MySQL数据库所有权限的用户连接到MySQL数据库,mysql,Mysql,让我描述一下我的问题: 我有一个数据库,只能由一个用户操作(除了管理员)。我通过(CREATE user'dbms'@'localhost'由'password'标识;)创建了此用户。然后我创建了数据库本身(CREATE database dbms_db;),并授予该用户所有权限(GRANT all privileges ON dbms_db.*to'dbms'@'localhost';)。最后,我刷新了特权(FLUSH privileges;)。即使我为“dbms”@“localhost”运行
CREATE user'dbms'@'localhost'由'password'标识;
)创建了此用户。然后我创建了数据库本身(CREATE database dbms_db;
),并授予该用户所有权限(GRANT all privileges ON dbms_db.*to'dbms'@'localhost';
)。最后,我刷新了特权(FLUSH privileges;
)。即使我为“dbms”@“localhost”运行SHOW授权代码>结果是:
+------------------------------------------------------------+
| Grants for dbms@localhost |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dbms'@'localhost' |
| GRANT ALL PRIVILEGES ON `dbms_db`.* TO 'dbms'@'localhost' |
+------------------------------------------------------------+
但当我尝试与该用户连接到数据库时,访问被拒绝
$ mysql -h localhost -u dbms -D dbms_db -p
> ERROR 1044 (42000): Access denied for user 'dbms'@'localhost' to database 'dbms_db'
只是澄清一下,如果我使用root用户,我可以访问数据库。此外,如果我没有使用-D
标志指定数据库,我可以使用dbms
用户连接到MySQL客户端。1。尝试检查数据库MySQL中的表用户,并确保帐户具有登录权@localhost。以下是我数据库中的图像;
2.如果您在一台计算机中使用虚拟机,则必须准确地使用@ip而不是@localhost。1.尝试检查数据库mysql中的表用户,并确保帐户具有@localhost的登录权限。以下是我数据库中的图像;
2.如果您在一台计算机中使用虚拟机,那么您必须准确地使用@ip而不是@localhost