一般在為MySql創(chuàng)建用戶時(shí)建議使用GRANT前臺(tái)命令,當(dāng)然如果對(duì)我們開發(fā)者而言,方法還有很多種,比如使用INSERT命令,甚至是直接修改mysql user數(shù)據(jù)表,但仍然建議按照MySQL規(guī)范去授權(quán)賬戶。因?yàn)樗菀淄洠貏e整理方便參考。1、登錄MySQL輸入mysql -u root和密碼即可登錄到Mysql。2、選擇數(shù)據(jù)庫語句如下:use mysql;3、在mysql的user表中增加連接用戶GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;其中:“username”替換為將要授權(quán)的用戶名,比如clientusr;“password”替換為clientusr設(shè)置的密碼;4、可訪問數(shù)據(jù)表授權(quán)創(chuàng)建好帳戶之后,就開始給上面的common user進(jìn)行數(shù)據(jù)表授權(quán),步驟3中增加的連接用戶默認(rèn)權(quán)限都是“N”的,必須在db表中為該帳戶授權(quán),允許其訪問專用數(shù)據(jù)庫,當(dāng)然超級(jí)用戶就不說了。使用下面語句:GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbx.* TO 'username'@'localhost' IDENTIFIED BY 'password';本語句中的權(quán)限根據(jù)實(shí)際需要確定:"dbx"替換為授權(quán)訪問的數(shù)據(jù)庫名,如果只給某張表授權(quán):dbx.tablename"username"是步驟2授權(quán)用戶名"password"是步驟2授權(quán)用戶的設(shè)置密碼這樣就為該用戶授予了對(duì)某數(shù)據(jù)表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP權(quán)限。5、生效授權(quán),創(chuàng)建完畢FLUSH PRIVILEGES;備注:1、不要直接使用INSERT語句添加user記錄,使用INSERT可能出現(xiàn):ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value錯(cuò)誤。不過早期的MYSQL版本筆者倒沒出現(xiàn)這個(gè)錯(cuò)誤,因?yàn)樘炀壱恢倍际侵苯有薷膗ser表或直接使用INSERT語句完成,后來升級(jí)MYSQL到5.1的時(shí)候,發(fā)現(xiàn)可能會(huì)出現(xiàn)這個(gè)錯(cuò)誤。2、上文3和4,也可使用一句話GRANT ALL ON tbx.* TO 'username' IDENTIFIED BY 'password',這句話會(huì)自動(dòng)創(chuàng)建username并為之授權(quán)。更多授權(quán)權(quán)限可參考MYSQL官方網(wǎng)站。
如何給MySql創(chuàng)建連接用戶并授權(quán)
慕田峪7331174
2019-07-27 15:15:15