測試環境:CentOS6.8 和 MySQL5.5.4
一 需求
在項目開發的過程中可能需要開放自己的數據庫給別人,但是出於安全的考慮,不能同時開放自己服務器里的其他數據庫。那么可以新建一個用戶,賦予該用戶特定的數據庫權限。
二 實現
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 登陸測試
mysql>exit // 用戶 buff 登陸 MySQL mysql -ubuff -p Enter password: mysql>
說明新建的用戶 buff 登陸成功。
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;
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;
