MySQL超詳細(xì)實現(xiàn)用戶管理實例
一、用戶管理
1.1 新建用戶
create user '用戶名'@'主機(jī)名' [identified by [password] '密碼'];
- 用戶名就不用解釋了,就是我們登錄時使用的賬號
- 主機(jī)名指定我們創(chuàng)建的用戶可以在哪些主機(jī)上登陸,可使用IP地址、網(wǎng)段、主機(jī)名的形式,本地用戶可用localhost,允許任意主機(jī)登錄可用通配符%來表示。
- identified by譯為通過…來進(jìn)行驗證,也就是密碼,密碼分為明文和密文,明文直接就是identified by 加上’密碼’即可,密文則是identified by password ‘密碼’,多了password關(guān)鍵字。
- 若使用明文密碼,直接輸入’密碼’,插入到數(shù)據(jù)庫時由Mysql自動加密;若使用加密密碼,需要先使用SELECT PASSWORD(‘密碼’); 獲取密文,再在語句中添加 PASSWORD ‘密文’;若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。
明文創(chuàng)建用戶
密文創(chuàng)建用戶
1.2 查看用戶信息
查看mysql庫中的user表,強調(diào)一點,這個庫只有root用戶能查看,普通用戶是沒有權(quán)限查詢這個庫的。
如果我們想要讓某一普通用戶可以查看這個mysql庫,需要使用grant進(jìn)行授權(quán)。注意,授權(quán)工作也只能在root用戶執(zhí)行。
遠(yuǎn)程登陸,即從其他主機(jī)遠(yuǎn)程登錄本機(jī)數(shù)據(jù)庫
查看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('新密碼');
普通用戶是無法修改其他用戶密碼的
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ù)庫,還是可以無密碼登錄,很危險
二、授權(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ù)庫名.表名(*表示所有) to '用戶名'@'主機(jī)名' [identified by '密碼'];
若授權(quán)的用戶不存在,mysql會先創(chuàng)建一個用戶,然后進(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 庫名.表名 from '用戶名'@'主機(jī)名';
#從用戶XXX撤銷XX庫.XX表的XX操作的權(quán)限
到此這篇關(guān)于MySQL超詳細(xì)實現(xiàn)用戶管理實例的文章就介紹到這了,更多相關(guān)MySQL用戶管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL入門(一) 數(shù)據(jù)表數(shù)據(jù)庫的基本操作
這類文章記錄我看MySQL5.6從零開始學(xué)》這本書的過程,將自己覺得重要的東西記錄一下,并有可能幫助到你們,在寫的博文前幾篇度會非?;A(chǔ),只要動手敲,跟著我寫的例子全部實現(xiàn)一遍,基本上就搞定了,前期很難理解的東西基本沒有2018-07-07mysql中datetime類型設(shè)置默認(rèn)值方法
下面小編就為大家分享一篇mysql中datetime類型設(shè)置默認(rèn)值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02