CentOS 配置MySQL允許遠程登錄

jopen 10年前發布 | 11K 次閱讀 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: 只允許登錄--其它什么也不允許做。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!