MySQL中建立用戶分配權限

測試環境:CentOS6.8 和 MySQL5.5.4mysql

一 需求sql

在項目開發的過程當中可能須要開放本身的數據庫給別人,可是出於安全的考慮,不能同時開放本身服務器裏的其餘數據庫。那麼能夠新建一個用戶,賦予該用戶特定的數據庫權限。數據庫

二 實現vim

1 新建用戶安全

複製代碼
// root 用戶登錄 MySQL
mysql -uroot -p
Enter password:
// 新建用戶
mysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));
// 刷新系統權限表
mysql>flush privileges;
複製代碼

這樣就建立了一個名爲:buff,密碼爲:buff 的用戶。服務器

2 登錄測試session

mysql>exit
// 用戶 buff 登錄 MySQL
mysql -ubuff -p
Enter password:
mysql>

說明新建的用戶 buff 登錄成功。ide

3 用戶受權測試

複製代碼
// root 用戶登錄 MySQL
mysql -uroot -p
Enter password:
// 爲用戶 buff 建立一個數據庫 bluebuff
mysql>create database bluebuff;
// 受權用戶 buff 擁有數據庫 bluebuff 的全部權限
mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff';
mysql>flush privileges;
複製代碼
1)受權wangli 使用密碼123456從%任何主機鏈接到mysql服務器 grant all privileges on *.* to 'wangli'@'%' identified by '123456' with grant option; flush privileges;
//受權指定ip登陸
GRANT select,insert,update,delete ON *.* TO root@"132.232.132.214" IDENTIFIED BY "wanglijun123";
flush privileges;
2)查看已經受權的用戶 mysql> select host,user,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+ | host | user | authentication_string | +-----------+---------------+-------------------------------------------+ | localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | % | wangli | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +-----------+---------------+-------------------------------------------+

修改 配置文件:spa

vim /etc/mysql/mysql.conf.d/mysqld.cnf

註銷掉這個#bind-address = 127.0.0.1

而後重啓mysql; 必須重啓不然不生效!

service mysql restart

 

 

 4 登陸測試

// 用戶 buff 登錄數據庫
mysql -ubuff -p
Enter privileges:
// 顯示數據庫
mysql>show databases;

結果以下圖所示,說明爲用戶 buff 受權成功

5 修改用戶 buff 的密碼

複製代碼
// root 用戶登錄 MySQL
mysql -uroot -p
Enter password:
// 修改用戶 buff 的密碼
mysql>update table mysql.user set password=password('buffer') where User='buff' and Host='localhost';
mysql>flush privileges;
複製代碼

6 刪除用戶

複製代碼
// root 用戶登錄 MySQL
mysql -uroot -p
Enter password:
// 刪除用戶 buff
mysql>delete from mysql.user where User = 'buff' and Host = 'localhost';
mysql>flush privileges;
複製代碼

7 刪除數據庫

mysql>drop database bluebuff;

 

忘記密碼能夠修改

配置文件下:

vim /etc/mysql/mysql.conf.d/mysqld.cnf 的 skip-grant-tables 參數加上;而後重啓就能夠不用密碼登陸了。

相關文章
相關標籤/搜索