本篇文章給大家帶來了關于mysql的相關知識,其中主要介紹了關于用戶管理的相關內容,包括了新建用戶、查看用戶信息、重命名用戶、刪除用戶等等內容,下面一起來看一下,希望對大家有幫助。
推薦學習:mysql
一、用戶管理
1.1 新建用戶
create user '用戶名'@'主機名' [identified by [password] '密碼'];
- 用戶名就不用解釋了,就是我們登錄時使用的賬號
- 主機名指定我們創建的用戶可以在哪些主機上登陸,可使用IP地址、網段、主機名的形式,本地用戶可用localhost,允許任意主機登錄可用通配符%來表示。
- identified by譯為通過…來進行驗證,也就是密碼,密碼分為明文和密文,明文直接就是identified by 加上’密碼’即可,密文則是identified by password ‘密碼’,多了password關鍵字。
- 若使用明文密碼,直接輸入’密碼’,插入到數據庫時由mysql自動加密;若使用加密密碼,需要先使用SELECT PASSWORD(‘密碼’); 獲取密文,再在語句中添加 PASSWORD ‘密文’;若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。
-
明文創建用戶
-
密文創建用戶
1.2 查看用戶信息
查看mysql庫中的user表,強調一點,這個庫只有root用戶能查看,普通用戶是沒有權限查詢這個庫的。
如果我們想要讓某一普通用戶可以查看這個mysql庫,需要使用grant進行授權。注意,授權工作也只能在root用戶執行。
遠程登陸,即從其他主機遠程登錄本機數據庫
查看mysql.user表
1.3 重命名用戶
rename user '舊用戶名'@'舊主機名' to '新用戶名'@'新主機名';
1.4 刪除用戶
drop user '用戶名'@'主機名';
1.5 修改用戶密碼
1.修改當前的用戶密碼
set password = password('新密碼')
2.修改其他用戶密碼
set password for '用戶名'@'主機名' = password('新密碼');普通用戶是無法修改其他用戶密碼的
1.6 忘記密碼怎么辦
vim /etc/my.cnf #修改mysql配置文件 [mysqld] ...... skip-grant-tables #在mysqld模塊下添加該配置 wq保存退出 systemctl restart mysqld #重啟mysql服務 mysql #mysql直接登錄 update mysql.user set authentication_string = password('新密碼') where User='root'; flush privileges; 退出重新登陸 切記:修改完后一定將配置文件的skip-grant-tables注釋或者刪掉,不然再執行一次重啟數據庫,還是可以無密碼登錄,很危險
二、授權
2.1 用戶授權
grant,授權,通常用于root用戶授予普通用戶一些執行權限,比如select,insert,update。
grant 權限列表(select|insert|delete|drop|update等等)on 數據庫名.表名(*表示所有) to '用戶名'@'主機名' [identified by '密碼']; 若授權的用戶不存在,mysql會先創建一個用戶,然后進行授權操作
2.2 查看所授予的權限
show grants for '用戶名'@'主機名'; #查看指定用戶的權限show grants; #查看當前用戶權限
2.3 撤銷權限
revoke 權限列表 on 庫名.表名 from '用戶名'@'主機名'; #從用戶XXX撤銷XX庫.XX表的XX操作的權限
推薦學習:mysql
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END