MySQL創(chuàng)建用戶以及用戶權(quán)限詳細圖文教程
1.創(chuàng)建用戶
1.1 工具創(chuàng)建用戶


打開以后是這個界面,照著填就行了,插件一般不用選擇,會有默認的;

想要修改密碼就直接在以上圖片的用戶中選中要修改密碼的用戶然后雙擊點進去然后修改即可。注:這兩次都要輸入;
1.2 腳本創(chuàng)建用戶
1.2.1 腳本創(chuàng)建用戶介紹
在開發(fā)過程中,記得要創(chuàng)建用于登錄數(shù)據(jù)庫的用戶。如果使用默認提供的root用戶,因為擁有超級用戶權(quán)限,所以很容易因誤操作而使數(shù)據(jù)不安全。在實際開發(fā)中,一般不建議使用root用戶登錄MySQL服務(wù)器。數(shù)據(jù)庫管理員(Database Administartor,DBA)負責(zé)為不同的數(shù)據(jù)庫使用者創(chuàng)建一系列普通用戶賬戶,賦予不同的權(quán)限,以保證數(shù)據(jù)的安全。創(chuàng)建新用戶的語法如下:
create user `username`@'host' [identiried by [PASSWORD] 'password']
- username: 創(chuàng)建的用戶名
- host: 指定用戶登錄的主機名。如果是本地用戶,可使用"localhost"。如果想讓用戶可以從遠程主機登錄,可使用通配符"%";
- identified by: 用來設(shè)置密碼,缺省時密碼為空
- PASSWORD: 使用哈希值設(shè)置密碼,可選
- password: 用戶登錄時使用的密碼
實際開發(fā)中,遠程連接使用的比較多,遠程連接的意思就是在其他的主機可以連接這個擁有遠程連接權(quán)限的用戶;
1.2.2 腳本創(chuàng)建用戶示例
- 需求: 在數(shù)據(jù)庫創(chuàng)建一個用戶名為root4且密碼為123456并且支持遠程連接的賬戶

- 創(chuàng)建用戶之后,可通過系統(tǒng)數(shù)據(jù)庫mysql的user表,查看已存在的用戶;SQL語句如下:
SQL語句

運行結(jié)果

由以上圖可以看出,user表中的Host、User、authentication_string分別對應(yīng)創(chuàng)建用戶時指定的主機名、用戶名、密碼的哈希值。除此之外,還有一系列以'_priv'字符串結(jié)尾的字段,這些字段決定了用戶的權(quán)限,這些字段的值只有Y和N,Y代表用戶有對應(yīng)的權(quán)限,N代表用戶沒有對應(yīng)的權(quán)限,這些字段的默認值是N。使用create user語句創(chuàng)建的用戶是未授權(quán)的
1.3 遠程連接

遠程連接的主機就寫創(chuàng)建這個用戶的主機IP地址,IP地址可以win+R進入cmd中的dos命令中輸入ipconfig即可,然后其他就照著填就行了,端口不用改,用戶名就是要連接的用戶名,密碼就是創(chuàng)建用戶時創(chuàng)建的密碼;
1.4 刪除用戶
drop user '用戶'; -- 例:drop user 'root5'@'localhost';
2.設(shè)置權(quán)限
2.1 MySQL5.7或以下版本設(shè)置權(quán)限
MySQL5.7可以創(chuàng)建用戶并授權(quán),語法格式如下:
grant priv_type on databasename.tablename to `user`@`host` [identified by [PASSWORD] ‘password'] [with grant option]
- priv_type: 表示要授予的權(quán)限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
- databasename.tablename: 表示權(quán)限作用的數(shù)據(jù)庫和表,可以使用通配符 * 表示所有數(shù)據(jù)庫或所有表。
- `user`@`host`: 表示用戶名和主機,指定了該用戶可以從哪個主機登錄。
- IDENTIFIED BY: 指定用戶的密碼。
- with grant option: 對新建立的用戶賦予grant權(quán)限,可選項。
2.2 MySQL8.0或以上版本設(shè)置權(quán)限
MySQL8.0無法創(chuàng)建用戶并授權(quán),只能先創(chuàng)建用戶再授權(quán),授權(quán)語法格式如下:
grant priv_type on databasename.tablename to `user`@`host` [identified by [PASSWORD] ‘password']
- priv_type: 表示要授予的權(quán)限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
- databasename.tablename: 表示權(quán)限作用的數(shù)據(jù)庫和表,可以使用通配符 * 表示所有數(shù)據(jù)庫或所有表。
- 'user'@'host': 表示用戶名和主機,指定了該用戶可以從哪個主機登錄。
- IDENTIFIED BY: 指定用戶的密碼。
2.2.1 示例

如果需要授予多個權(quán)限,用逗號隔開;

用戶名可以使用``包,也可以用‘’包;
總結(jié)
到此這篇關(guān)于MySQL創(chuàng)建用戶以及用戶權(quán)限的文章就介紹到這了,更多相關(guān)MySQL創(chuàng)建用戶及用戶權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL安全配置向?qū)ysql_secure_installation詳解
這篇文章主要介紹了MySQL安全配置向?qū)ysql_secure_installation各項配置的含義,并依據(jù)經(jīng)驗給予一了一些建議,需要的朋友可以參考下2014-03-03
mysql隨機查詢?nèi)舾蓷l數(shù)據(jù)的方法
這篇文章主要介紹了mysql中獲取隨機內(nèi)容的方法,需要的朋友可以參考下2013-10-10
MySQL數(shù)據(jù)庫安全設(shè)置與注意事項小結(jié)
現(xiàn)在很多朋友使用mysql數(shù)據(jù)庫,為了安全考慮我們就需要考慮到mysql的安全問題,例如需要將mysql以普通用戶權(quán)限運行,就算出問題了有了root也不能控制系統(tǒng)2013-08-08
詳解MySQL數(shù)據(jù)庫設(shè)置主從同步的方法
最近一直在研究mysql的主從同步問題,現(xiàn)在網(wǎng)上也有很多資料,現(xiàn)在感覺寫的都很好(當(dāng)初感覺寫的很差,是因為自己的領(lǐng)悟較差),于是想跟大家分享一下自己配置的整個過程和經(jīng)驗。有需要的朋友歐美可以參考借鑒,感興趣的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11

