2015-10-20 204 views
1

其实我正在制作java应用程序......它是在第一次运行时在数据库中创建一个数据库和表......现在我想让它在mysql中为所有用户授予select,create,insert表。 。而即使是创建新用户应该使用该表的权限太...我已经尝试了很多东西从互联网继承人我试图执行授予所有用户mysql的权限?

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 '*'@'%' 

请帮我用它来查询.. 。 这是我第一次运行

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

是否尝试过......将\ *。\ *中的所有内容都设置为'user'@'%'; – Chella

+0

你想给特定的表的权限给特定的用户,或者所有的用户都可以拥有该数据库的所有表的权限,并且你想给全局权限还是仅仅来自某个特定的ip。 –

回答

0

创建数据库和表的用于授予privil javacode EGES所有的数据库:

GRANT ALL PRIVILEGES ON .* TO 'myuser'@'%' WITH GRANT OPTION; 

对于授予特权到一个特定的数据库:

GRANT ALL PRIVILEGES ON database_name.* TO 'myuser'@'%' WITH GRANT OPTION;