【发布时间】:2013-07-08 05:25:11
【问题描述】:
在 MySQL 命令行客户端以 root 身份登录后,我输入:
connect mydb;
grant all privileges on mydb.* to 'admin'@'localhost' identified by 'pass';
现在在 Java 中, 我使用驱动程序使用管理员用户 ID 成功连接到数据库。
Statement put=connect.createStatement();
//**WORKS succesfully**
put.execute("insert into mydb.emp values(100,joe)");
//**does NOT work**
put.execute("grant all privileges on mydb.* to 'john'@'localhost' identified by 'pass'");
为什么插入命令有效,但授权命令从不通过 Java 工作?
请帮忙。
【问题讨论】:
-
我立即看到的一件事是您的 INSERT 查询是一个字符串,而您的 GRANT 查询不是。
-
@Xperiaz X 作为 root 你的意思是来自 linux 终端吗?
-
不是所有的数据库都支持通过JDBC的DDL命令,所以你可能根本无法通过JDBC修改数据库结构。
-
no 在windows中进入sql命令行客户端需要输入root密码。 MySQL 根不是 linux 根。
-
MySQL 是否支持 DDL?还是需要新的驱动程序?
标签: java mysql mysql-connector grant