允許用戶遠程登陸mysql7及以下
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: 只允許登錄--其它什麼也不允許做。
mysql8
4.允許遠程訪問
登陸MySQL,執行下面語句
UPDATE mysql.user SET Host = '%' WHERE (Host = 'localhost') and (User = 'root');
mysql> UPDATE mysql.user SET Host = '%' WHERE (Host = 'localhost') and (User = 'root');
Query OK, 1 row affected (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 0
然後刷新一下
flush privileges;
在其他電腦上嘗試連接
mysql -h 192.168.0.148 -P 3306 -u root -p
還是不行重啓下mysql服務
說明
以前版本的配置文件上需要註釋bind-address = 127.0.0.1
,但8.0版本已經沒有這個鍵值對,所以配置文件無需修改
遠程一直不能連接,嘗試ping下地址,ifconfig
查看ip地址是否正確
可以參考這篇文章進行調試:https://blog.csdn.net/chengyuqiang/article/details/54285857