java - 如何更改MySQL中其他主机的权限?

标签 java mysql jdbc

我有一个名为 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/

相关文章:

java - java机器人的问题。鼠标点击不起作用

mysql - MySQL 竞争位置排序复杂

sql - SQL 的哪些实现具有类似 PSM 的功能?

php - Doctrine Raw SQL 不调用自定义函数

java - 如何在 MySQL JDBC 驱动程序上设置连接超时?

java - 在 openshift 上连接到 jdbc mysql

java - '严重 : SAAJ0009: Message send failed error' while sending a message

java - 将特定函数调用记录到特定日志

java - Spring AOP切入点不触发

java - 使用列名从 ResultSet 获取小写列