Mysql建立使用者與授權

來源:互聯網
上載者:User

標籤:撤銷   不能   分配   int   width   bin   insert   png   開始   

       系統管理賬戶登入系統會大大降低系統的安全性,所以為了更安全的使用電腦,通常我們都會建立一個新的使用者來登入系統,MySQL也不例外。MySQL中建立使用者與授權的實現方法,對於剛開始接觸mysql的朋友可以參考下!

  建立

  Mysql建立使用者的方法分成三種:INSERTUSER表的方法、CREATEUSER的方法、GRANT的方法。

  一、帳號名稱的構成方式

  帳號的組成方式:使用者名稱+主機(所以可以出現重複的使用者名稱,跟其他的資料庫不一樣)

  使用者名稱:16字元以內.

  主機名稱:可以用主機名稱和IP地址,也可以用萬用字元

  萬用字元說明:172.18.10.%(IP地址為172.18.10段的所有IP地址都可以訪問)

  二、通過CREATEUSER命令進行建立使用者

  指令碼:CREATEUSER‘username‘@‘host‘[IDENTIFIEDBY‘PASSword‘]其中密碼是可選項;

  說明:該方法建立出來的使用者只有串連資料庫的許可權,需要後續繼續授權;

  三、通過GRANT命令建立使用者

  個人習慣一般用這種方法進行建立使用者,當資料庫存在使用者的時候GRANT會對使用者進行授權,但當資料庫不存在該使用者的時候,就會建立相應的使用者並進行授權。(說明上面那步是多餘的)

  指令碼:

  說明:priv代表許可權select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權

  例子:mysql>grantselect,insert,update,delete,create,[email protected]‘123‘;

  說明:給主機為192.168.10.1的使用者john分配可對資料庫test的hr表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。

  mysql>grantallprivilegesontest.*[email protected]‘123‘;

  說明:給主機為192.168.10.1的使用者john分配可對資料庫test所有表進行所有操作的許可權,並設定口令為123。

  mysql>grantallprivilegeson*.*[email protected]‘123‘;

  說明:給主機為192.168.10.1的使用者john分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

  mysql>grantallprivilegeson*.*[email protected]‘123‘;

  說明:使用者john分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

  四、直接向mysql.user表插入記錄(該方法個人很少用)

  因為資料庫的使用者資訊都是儲存在mysql.user這張表的,所以直接對該表進行插入語句,即可完成使用者的建立;

  mysql>insertintouser(host,user,password)values(‘%‘,‘john‘,password(‘123‘));

  查看許可權:

  showgrantsfor你的使用者;

  [email protected]‘localhost‘;

  [email protected];

  showcreatedatabasedbname;這個可以看到建立資料庫時用到的一些參數。

  showcreatetabletickets;可以看到建立表時用到的一些參數

  撤銷許可權:

  revokeallon*.*[email protected];

  五、完成使用者的建立後,請記得重新整理系統許可權表;

  mysql>flushprivileges;

  雖然建立使用者的方法有三種,個人還是傾向於第二種方法,一步到位,簡單明了;其他的兩種方法只是有助於理解資料庫的原理而已;

  授權:

  命令:GRANTprivilegesONdatabasename.tablenameTO‘username‘@‘host‘

  說明:privileges-使用者的操作許可權,如SELECT,INSERT,UPDATE等(詳細列表見該文最後面).如果要授予所的許可權則使用ALL.;databasename-資料庫名,tablename-表名,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示,如*.*.

  例子:GRANTSELECT,INSERTONtest.userTO‘pig‘@‘%‘;

  GRANTALLON*.*TO‘pig‘@‘%‘;

  注意:用以上命令授權的使用者不能給其它使用者授權,如果想讓該使用者可以授權,用以下命令:

  GRANTprivilegesONdatabasename.tablenameTO‘username‘@‘host‘WITHGRANTOPTION;

Mysql建立使用者與授權

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.