權限管理
咱們知道咱們的最高權限管理者是root用戶,它擁有着最高的權限操做。包括select、update、delete、update、grant等操做。那麼通常狀況在公司以後DBA工程師會建立一個用戶和密碼,讓你去鏈接數據庫的操做,並給當前的用戶設置某個操做的權限(或者全部權限)。那麼這時就須要咱們來簡單瞭解一下:python
- 如何建立用戶和密碼
- 給當前的用戶受權
- 移除當前用戶的權限
若是你想建立一個新的用戶,則須要如下操做:mysql
1.進入到mysql數據庫下sql
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工程師來作這些受權工做。給你一個用戶名和密碼,你來鏈接就能夠了。ide