mysql遠端連線詳細配置
2018-11-06
CentOS 配置MySQL允許遠端登入
Mysql為了安全性,在預設情況下使用者只允許在本地登入,可是在有此情況下,還是需要使用使用者進行遠端連線,因此為了使其可以遠端需要進行如下操作:
一、允許root使用者在任何地方進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:
在本機先使用root使用者登入mysql: mysql -u root -p"youpassword" 進行授權操作: mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
二、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:
在本機先使用root使用者登入mysql:mysql -u root -p"youpassword" 進行授權操作: GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
三、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫特定操作許可權,具體操作如下:
在本機先使用root使用者登入mysql: mysql -u root -p"youpassword" 進行授權操作: GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword"; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
四、刪除使用者授權,需要使用REVOKE命令,具體命令格式為:
REVOKE privileges ON 資料庫[.表名] FROM user-name; 具體例項,先在本機登入mysql: mysql -u root -p"youpassword" 進行授權操作: GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 再進行刪除授權操作: REVOKE all on TEST-DB from test-user; ****注:該操作只是清除了使用者對於TEST-DB的相關授權許可權,但是這個“test-user”這個使用者還是存在。 最後從使用者表內清除使用者: DELETE FROM user WHERE user="test-user"; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
五、MYSQL許可權詳細分類:
全域性管理許可權:
FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務執行緒。
RELOAD: 過載訪問控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。
CREATE: 建立新的資料庫或資料表。
DELETE: 刪除表的記錄。
DROP: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜尋表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入--其它什麼也不允許做。
Mysql為了安全性,在預設情況下使用者只允許在本地登入,可是在有此情況下,還是需要使用使用者進行遠端連線,因此為了使其可以遠端需要進行如下操作:
一、允許root使用者在任何地方進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:
在本機先使用root使用者登入mysql: mysql -u root -p"youpassword" 進行授權操作: mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
二、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:
在本機先使用root使用者登入mysql:mysql -u root -p"youpassword" 進行授權操作: GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
三、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫特定操作許可權,具體操作如下:
在本機先使用root使用者登入mysql: mysql -u root -p"youpassword" 進行授權操作: GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword"; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
四、刪除使用者授權,需要使用REVOKE命令,具體命令格式為:
REVOKE privileges ON 資料庫[.表名] FROM user-name; 具體例項,先在本機登入mysql: mysql -u root -p"youpassword" 進行授權操作: GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 再進行刪除授權操作: REVOKE all on TEST-DB from test-user; ****注:該操作只是清除了使用者對於TEST-DB的相關授權許可權,但是這個“test-user”這個使用者還是存在。 最後從使用者表內清除使用者: DELETE FROM user WHERE user="test-user"; 過載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
五、MYSQL許可權詳細分類:
全域性管理許可權:
FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務執行緒。
RELOAD: 過載訪問控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。
CREATE: 建立新的資料庫或資料表。
DELETE: 刪除表的記錄。
DROP: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜尋表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入--其它什麼也不允許做。