一 權限管理
我們知道我們的最高權限管理者是root用戶,它擁有着最高的權限操作。包括select、update、delete、update、grant等操作。那么一般情況在公司之后DBA工程師會創建一個用戶和密碼,讓你去連接數據庫的操作,並給當前的用戶設置某個操作的權限(或者所有權限)。那么這時就需要我們來簡單了解一下:
- 如何創建用戶和密碼
- 給當前的用戶授權
- 移除當前用戶的權限
如果你想創建一個新的用戶,則需要以下操作:
1.進入到mysql數據庫下
mysql> use mysql
Database changed
2.對新用戶增刪改
1.創建用戶:
# 指定ip:192.118.1.1的chao用戶登錄
create user 'chao'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.開頭的chao用戶登錄
create user 'chao'@'192.118.1.%' identified by '123';
# 指定任何ip的chao用戶登錄
create user 'chao'@'%' identified by '123';
2.刪除用戶
drop user '用戶名'@'IP地址';
3.修改用戶
rename user '用戶名'@'IP地址' to '新用戶名'@'IP地址';
4.修改密碼
set password for '用戶名'@'IP地址'=Password('新密碼');
3.對當前的用戶授權管理
#查看權限
show grants for '用戶'@'IP地址'
#授權 chao用戶僅對db1.t1文件有查詢、插入和更新的操作
grant select ,insert,update on db1.t1 to "chao"@'%';
# 表示有所有的權限,除了grant這個命令,這個命令是root才有的。chao用戶對db1下的t1文件有任意操作
grant all privileges on db1.t1 to "chao"@'%';
#chao用戶對db1數據庫中的文件執行任何操作
grant all privileges on db1.* to "chao"@'%';
#chao用戶對所有數據庫中文件有任何操作
grant all privileges on *.* to "chao"@'%';
#取消權限
# 取消chao用戶對db1的t1文件的任意操作
revoke all on db1.t1 from 'chao'@"%";
# 取消來自遠程服務器的chao用戶對數據庫db1的所有表的所有權限
revoke all on db1.* from 'chao'@"%";
取消來自遠程服務器的chao用戶所有數據庫的所有的表的權限
revoke all privileges on *.* from 'chao'@'%';
ps:在公司中,一般情況下是DBA工程師來做這些授權工作。給你一個用戶名和密碼,你來連接就可以了。