2015-10-20 265 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;