实际上我正在制作java应用程序...并且它在第一次运行时在数据库中创建数据库和表..现在我希望它在该表上授予对mysql中存在的所有用户的select,create,insert ..即使创建了一个新用户,它也应该拥有该表的权限...我已经尝试过很多来自互联网的东西继承了我试过的查询
grant select,create,insert on db.table to PUBLIC
grant select,create,insert on db.table to ''@'%'
grant select,create,insert on db.able to '*'@'%'
请帮帮我... 这是我在第一次运行时创建数据库和表的javacode
st=conn.createStatement();
ResultSet r=conn.getMetaData().getCatalogs();boolean dbe=false;
while(r.next())
{
if(r.getString(1).equalsIgnoreCase("DB"))
{
st.execute("use db");
dbe=true;
}
}
if(!dbe)
{
st.execute("create database db");
st.execute("use db");
st.execute("create table tab(name varchar(255),address varchar(80),at datetime)");
}
答案 0 :(得分:0)
授予所有数据库的权限:
GRANT ALL PRIVILEGES ON .* TO 'myuser'@'%' WITH GRANT OPTION;
用于授予特定数据库的权限:
GRANT ALL PRIVILEGES ON database_name.* TO 'myuser'@'%' WITH GRANT OPTION;