1. 程式人生 > >13-補充內容:MySQl建立使用者和授權

13-補充內容:MySQl建立使用者和授權

許可權管理

我們知道我們的最高許可權管理者是root使用者,它擁有著最高的許可權操作。包括select、update、delete、update、grant等操作。那麼一般情況在公司之後DBA工程師會建立一個使用者和密碼,讓你去連線資料庫的操作,並給當前的使用者設定某個操作的許可權(或者所有許可權)。那麼這時就需要我們來簡單瞭解一下:

  • 如何建立使用者和密碼
  • 給當前的使用者授權
  • 移除當前使用者的許可權

如果你想建立一個新的使用者,則需要以下操作:


1.進入到mysql資料庫下

mysql> use mysql
Database changed

2.對新使用者增刪改

複製程式碼
1.建立使用者:
# 指定ip:192.118.1.1的mjj使用者登入
create user 'mjj'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.開頭的mjj使用者登入
create user 'mjj'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj使用者登入
create user 'mjj'@'%' identified by '123';

2.刪除使用者
drop user '使用者名稱
'@'IP地址'; 3.修改使用者 rename user '使用者名稱'@'IP地址' to '新使用者名稱'@'IP地址'; 4.修改密碼 set password for '使用者名稱'@'IP地址'=Password('新密碼');
複製程式碼

 

3.對當前的使用者授權管理

複製程式碼
#檢視許可權
show grants for '使用者'@'IP地址'

#授權 mjj使用者僅對db1.t1檔案有查詢、插入和更新的操作
grant select ,insert,update on db1.t1 to "
mjj"@'%'; # 表示有所有的許可權,除了grant這個命令,這個命令是root才有的。mjj使用者對db1下的t1檔案有任意操作 grant all privileges on db1.t1 to "mjj"@'%';
#mjj使用者對db1資料庫中的檔案執行任何操作
grant all privileges  on db1.* to "mjj"@'%';
#mjj使用者對所有資料庫中檔案有任何操作
grant all privileges  on *.*  to "mjj"@'%';
 
#取消許可權
 
# 取消mjj使用者對db1的t1檔案的任意操作
revoke all on db1.t1 from 'mjj'@"%";  

# 取消來自遠端伺服器的mjj使用者對資料庫db1的所有表的所有許可權

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

取消來自遠端伺服器的mjj使用者所有資料庫的所有的表的許可權 revoke all privileges on *.* from 'mjj'@'%';
複製程式碼

ps:在公司中,一般情況下是DBA工程師來做這些授權工作。給你一個使用者名稱和密碼,你來連線就可以了。

 

 

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
複製程式碼

 

許可權管理

我們知道我們的最高許可權管理者是root使用者,它擁有著最高的許可權操作。包括select、update、delete、update、grant等操作。那麼一般情況在公司之後DBA工程師會建立一個使用者和密碼,讓你去連線資料庫的操作,並給當前的使用者設定某個操作的許可權(或者所有許可權)。那麼這時就需要我們來簡單瞭解一下:

  • 如何建立使用者和密碼
  • 給當前的使用者授權
  • 移除當前使用者的許可權

如果你想建立一個新的使用者,則需要以下操作:


1.進入到mysql資料庫下

mysql> use mysql
Database changed

2.對新使用者增刪改

複製程式碼
1.建立使用者:
# 指定ip:192.118.1.1的mjj使用者登入
create user 'mjj'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.開頭的mjj使用者登入
create user 'mjj'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj使用者登入
create user 'mjj'@'%' identified by '123';

2.刪除使用者
drop user '使用者名稱'@'IP地址';


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

4.修改密碼
set password for '使用者名稱'@'IP地址'=Password('新密碼');
複製程式碼

 

3.對當前的使用者授權管理

複製程式碼
#檢視許可權
show grants for '使用者'@'IP地址'

#授權 mjj使用者僅對db1.t1檔案有查詢、插入和更新的操作
grant select ,insert,update on db1.t1 to "mjj"@'%';

# 表示有所有的許可權,除了grant這個命令,這個命令是root才有的。mjj使用者對db1下的t1檔案有任意操作
grant all privileges  on db1.t1 to "mjj"@'%';
#mjj使用者對db1資料庫中的檔案執行任何操作
grant all privileges  on db1.* to "mjj"@'%';
#mjj使用者對所有資料庫中檔案有任何操作
grant all privileges  on *.*  to "mjj"@'%';
 
#取消許可權
 
# 取消mjj使用者對db1的t1檔案的任意操作
revoke all on db1.t1 from 'mjj'@"%";  

# 取消來自遠端伺服器的mjj使用者對資料庫db1的所有表的所有許可權

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

取消來自遠端伺服器的mjj使用者所有資料庫的所有的表的許可權 revoke all privileges on *.* from 'mjj'@'%';
複製程式碼

ps:在公司中,一般情況下是DBA工程師來做這些授權工作。給你一個使用者名稱和密碼,你來連線就可以了。

 

 

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
複製程式碼