我有一个名为 myname
的 MySQL 用户。我在 .conf
文件中为我的项目配置了指向主机 db
:jdbc:mysql://db/db_name
(当项目运行时检查此文件中的配置以查找数据库的路径)。但是,该项目向我显示错误:未知数据库'db_name'
(执行时)。然后我使用用户 myname
登录 mysql 并检查授权并看到:
+-----------------------------------------------------+
| Grants for myname@% |
+-----------------------------------------------------+
| GRANT USAGE ON *.* TO 'myname'@'%' |
| GRANT ALL PRIVILEGES ON `db_name`.* TO 'myname'@'%' |
+-----------------------------------------------------+
- 我认为主机应该是
myname@db
而不是myname@%
,那么我可以查询db_name
而不会出现错误。如果我的想法是正确的,我怎样才能将权限更改为myname@db
? - 如果不是,我该如何解决错误:
未知数据库“db_name”
?
最佳答案
好吧,为了使粘贴的代码可读,我将回答而不是评论。我已经运行了以下测试场景来模拟您的问题,它对我有用。您的 db_name 数据库存在吗?
创建数据库db_name2
;
创建由“supersecure”标识的用户“myname2”@“%”;
授予使用权.至'myname2'@'%';
将 db_name2
.* 上的所有权限授予 'myname2'@'%' ;
关于java - 如何更改MySQL中其他主机的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407031/