查看已經註冊用戶
-- 必須切換到mysql這個庫
use mysql;
-- 然後查詢user表
select * from user;
效果:
- Host下的localhost代表只能本機登錄,%代表其他電腦都可以登錄。
- User就表示用戶名。
- Password密碼是經過加密的。
創建用戶
創建用戶,給用戶授權等操作,只能超級管理員操作,就是安裝mysql時註冊的那個用戶。
語法
create user '用戶名'@'主機名' identified by '密碼'
參數
用戶名 | 要創建的用戶名 |
---|---|
主機名 | 限制這個用戶只能在哪臺主機上登錄,如果本地用戶使用localhost,如果想讓用戶可以在任意的主機上登錄,使用通配符% |
密碼 | 設置用戶的密碼,可以爲空,爲空用戶就不需要密碼 |
演示
1.創建user1用戶,只能在localhost這個服務器登錄mysql服務器,密碼爲123
2.創建user2用戶可以在任何電腦上登錄mysql服務器,密碼爲123
用戶授權
被管理員授權的用戶纔可以操作表或庫,授予用戶相應的權限纔可以做出相應的操作。
語法
grant 權限 on 數據庫名.表名 to '用戶名'@'主機名'
參數
權限 | 授予用戶的權限,有如下權限:CREATE, ALTER, SELECT,INSERT,UPDATE, DELETE。如果要授予所有的權限可以使用ALL |
---|---|
數據庫名.表名 | 對哪個數據庫中哪個表指定權限,庫名或表名都可以使用*表示所有庫或表。 如:day21.* 表示day21庫下所有的表 如:*.* 所有數據庫的所有表 |
‘用戶名’@‘主機名’ | 給哪個用戶權限,要加單引號。注:必須與創建用戶的時候名字相同 |
演示
1.給user1用戶分配對test這個數據庫操作的權限:創建表,修改表,插入記錄,更新記錄,查詢
2.給user2用戶分配所有權限,對所有數據庫的所有表
撤銷權限
語法
revoke 權限 on 數據庫名.表名 from '用戶名'@'主機名'
參數
權限 | 要撤銷的用戶權限,有如下權限:CREATE, ALTER, SELECT,INSERT,UPDATE, DELETE。如果要撤銷所有的權限可以使用ALL |
---|---|
數據庫名.表名 | 對哪個數據庫中哪個表撤銷權限,庫名或表名都可以使用*表示所有庫或表。 |
‘用戶名’@‘主機名’ | 給哪個用戶權限,要加單引號。注:必須與創建用戶的時候名字相同 |
演示
1.撤銷user1用戶對test數據庫所有表的操作的權限
刪除用戶
語法
drop user '用戶名'@'主機名'
參數
‘用戶名’@‘主機名’ | 刪除那個用戶,要加單引號。注:必須與創建用戶的時候名字相同 |
---|
演示
1.刪除user2
修改密碼
管理員
mysqladmin -u用戶名 -p password 新密碼
回車後要輸入原密碼,才能更改成功。如果原密碼不正確,則修改失敗
操作
1.將root管理員的新密碼改成123456
2.輸入舊密碼
用戶
set password=password('新密碼')
普通用戶登錄後纔可以操作
操作
1.將用戶密碼修改爲abc