MySQL超詳細(xì)實(shí)現(xiàn)用戶管理實(shí)例
一、用戶管理
1.1 新建用戶
create user '用戶名'@'主機(jī)名' [identified by [password] '密碼'];
- 用戶名就不用解釋了,就是我們登錄時(shí)使用的賬號(hào)
- 主機(jī)名指定我們創(chuàng)建的用戶可以在哪些主機(jī)上登陸,可使用IP地址、網(wǎng)段、主機(jī)名的形式,本地用戶可用localhost,允許任意主機(jī)登錄可用通配符%來(lái)表示。
- identified by譯為通過(guò)…來(lái)進(jìn)行驗(yàn)證,也就是密碼,密碼分為明文和密文,明文直接就是identified by 加上’密碼’即可,密文則是identified by password ‘密碼’,多了password關(guān)鍵字。
- 若使用明文密碼,直接輸入’密碼’,插入到數(shù)據(jù)庫(kù)時(shí)由Mysql自動(dòng)加密;若使用加密密碼,需要先使用SELECT PASSWORD(‘密碼’); 獲取密文,再在語(yǔ)句中添加 PASSWORD ‘密文’;若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。
明文創(chuàng)建用戶
密文創(chuàng)建用戶
1.2 查看用戶信息
查看mysql庫(kù)中的user表,強(qiáng)調(diào)一點(diǎn),這個(gè)庫(kù)只有root用戶能查看,普通用戶是沒(méi)有權(quán)限查詢這個(gè)庫(kù)的。
如果我們想要讓某一普通用戶可以查看這個(gè)mysql庫(kù),需要使用grant進(jìn)行授權(quán)。注意,授權(quán)工作也只能在root用戶執(zhí)行。
遠(yuǎn)程登陸,即從其他主機(jī)遠(yuǎn)程登錄本機(jī)數(shù)據(jù)庫(kù)
查看mysql.user表
1.3 重命名用戶
rename user '舊用戶名'@'舊主機(jī)名' to '新用戶名'@'新主機(jī)名';
1.4 刪除用戶
drop user '用戶名'@'主機(jī)名';
1.5 修改用戶密碼
1.修改當(dāng)前的用戶密碼
set password = password('新密碼')
2.修改其他用戶密碼
set password for '用戶名'@'主機(jī)名' = password('新密碼');
普通用戶是無(wú)法修改其他用戶密碼的
1.6 忘記密碼怎么辦
vim /etc/my.cnf #修改mysql配置文件
[mysqld]
......
skip-grant-tables #在mysqld模塊下添加該配置
wq保存退出
systemctl restart mysqld #重啟mysql服務(wù)
mysql #mysql直接登錄
update mysql.user set authentication_string = password('新密碼') where User='root';
flush privileges;
退出重新登陸
切記:修改完后一定將配置文件的skip-grant-tables注釋或者刪掉,不然再執(zhí)行一次重啟數(shù)據(jù)庫(kù),還是可以無(wú)密碼登錄,很危險(xiǎn)
二、授權(quán)
2.1 用戶授權(quán)
grant,授權(quán),通常用于root用戶授予普通用戶一些執(zhí)行權(quán)限,比如select,insert,update。
grant 權(quán)限列表(select|insert|delete|drop|update等等)on 數(shù)據(jù)庫(kù)名.表名(*表示所有) to '用戶名'@'主機(jī)名' [identified by '密碼'];
若授權(quán)的用戶不存在,mysql會(huì)先創(chuàng)建一個(gè)用戶,然后進(jìn)行授權(quán)操作
2.2 查看所授予的權(quán)限
show grants for '用戶名'@'主機(jī)名'; #查看指定用戶的權(quán)限 show grants; #查看當(dāng)前用戶權(quán)限
2.3 撤銷權(quán)限
revoke 權(quán)限列表 on 庫(kù)名.表名 from '用戶名'@'主機(jī)名';
#從用戶XXX撤銷XX庫(kù).XX表的XX操作的權(quán)限
到此這篇關(guān)于MySQL超詳細(xì)實(shí)現(xiàn)用戶管理實(shí)例的文章就介紹到這了,更多相關(guān)MySQL用戶管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL入門(一) 數(shù)據(jù)表數(shù)據(jù)庫(kù)的基本操作
這類文章記錄我看MySQL5.6從零開始學(xué)》這本書的過(guò)程,將自己覺(jué)得重要的東西記錄一下,并有可能幫助到你們,在寫的博文前幾篇度會(huì)非?;A(chǔ),只要?jiǎng)邮智?,跟著我寫的例子全部?shí)現(xiàn)一遍,基本上就搞定了,前期很難理解的東西基本沒(méi)有2018-07-07基于 Mysql 實(shí)現(xiàn)一個(gè)簡(jiǎn)易版搜索引擎
本文基于 Mysql 8.0 版本,數(shù)據(jù)庫(kù)引擎采用的是 InnoDB,關(guān)于 Mysql 實(shí)現(xiàn)一個(gè)簡(jiǎn)易版搜索引擎,感興趣的朋友可以參考下文2021-08-08mysql中datetime類型設(shè)置默認(rèn)值方法
下面小編就為大家分享一篇mysql中datetime類型設(shè)置默認(rèn)值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02MySQL 實(shí)現(xiàn)雙向復(fù)制的方法指南
這篇文章主要介紹了MySQL 實(shí)現(xiàn)雙向復(fù)制的方法指南,本文包括:主機(jī)配置,從機(jī)配置,建立主-從復(fù)制,建立雙向復(fù)制,需要的朋友可以參考下2015-03-03