14-補充內容:MySQl建立用戶和受權

權限管理

咱們知道咱們的最高權限管理者是root用戶,它擁有着最高的權限操做。包括select、update、delete、update、grant等操做。那麼通常狀況在公司以後DBA工程師會建立一個用戶和密碼,讓你去鏈接數據庫的操做,並給當前的用戶設置某個操做的權限(或者全部權限)。那麼這時就須要咱們來簡單瞭解一下:mysql

  • 如何建立用戶和密碼
  • 給當前的用戶受權
  • 移除當前用戶的權限

若是你想建立一個新的用戶,則須要如下操做:sql


1.進入到mysql數據庫下數據庫

mysql> use mysql
Database changed

2.對新用戶增刪改服務器

1.建立用戶:
# 指定ip:192.118.1.1的mjj用戶登陸
create user 'alex'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.開頭的mjj用戶登陸
create user 'alex'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj用戶登陸
create user 'alex'@'%' identified by '123';

2.刪除用戶
drop user '用戶名'@'IP地址';


3.修改用戶
rename user '用戶名'@'IP地址' to '新用戶名'@'IP地址';

4.修改密碼
set password for '用戶名'@'IP地址'=Password('新密碼');

 

3.對當前的用戶受權管理ide

#查看權限
show grants for '用戶'@'IP地址'

#受權 mjj用戶僅對db1.t1文件有查詢、插入和更新的操做
grant select ,insert,update on db1.t1 to "alex"@'%';

# 表示有全部的權限,除了grant這個命令,這個命令是root纔有的。mjj用戶對db1下的t1文件有任意操做
grant all privileges  on db1.t1 to "alex"@'%';
#mjj用戶對db1數據庫中的文件執行任何操做
grant all privileges  on db1.* to "alex"@'%';
#mjj用戶對全部數據庫中文件有任何操做
grant all privileges  on *.*  to "alex"@'%';
 
#取消權限
 
# 取消mjj用戶對db1的t1文件的任意操做
revoke all on db1.t1 from 'alex'@"%";  

# 取消來自遠程服務器的mjj用戶對數據庫db1的全部表的全部權限

revoke all on db1.* from 'alex'@"%";  

取消來自遠程服務器的mjj用戶全部數據庫的全部的表的權限 revoke all privileges on *.* from 'alex'@'%';

ps:在公司中,通常狀況下是DBA工程師來作這些受權工做。給你一個用戶名和密碼,你來鏈接就能夠了。spa

 

 

4.MySql備份命令行操做命令行

# 備份:數據表結構+數據
mysqdump -u root db1 > db1.sql -p


# 備份:數據表結構
mysqdump -u root -d db1 > db1.sql -p

#導入現有的數據到某個數據庫
#1.先建立一個新的數據庫
create database db10;
# 2.將已有的數據庫文件導入到db10數據庫中
mysqdump -u root -d db10 < db1.sql -p
相關文章
相關標籤/搜索