使用工具連接linux中的mysql8.0
在搭建完LNMP環境后用Navicate/mysql Workbench連接出錯
遇到這個問題首先到mysql所在的服務器上用連接進行處理
1、連接服務器: mysql -u root -p
2、看當前所有數據庫:show databases;
3、進入mysql數據庫:use mysql;
4、查看mysql數據庫中所有的表:show tables;
5、查看user表中的數據:select Host, User,Password from user;
6、修改user表中的Host:update user set Host='%' where User='root';
7、最后刷新一下:flush privileges;
#一定要記得在寫sql的時候要在語句完成后加上" ; "下面是圖示說明

遇到這個問題首先到mysql所在的服務器上用連接進行處理
連接服務器: mysql -u root -p

查看當前所有數據庫:show databases;

進入mysql數據庫:use mysql;

查看mysql數據庫中所有的表:show tables;

查看user表中的數據:select Host, User,Password from user;

修改user表中的Host:update user set Host='%' where User='root';

最后刷新一下:flush privileges;

重新在Navicate中測試一下:

第一種問題的解決辦法是:
在iptables中開放3306端口
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
#/etc/rc.d/init.d/iptables save 保存:
# service iptables restart 重啟生效
############################################################################################
iptables -I INPUT -p TCP -s 0.0.0.0/0 --dport 3306 -j ACCEPT //我常用的在iptables中開放3306端口命令
第二種解決方法是:
設置遠程用戶訪問權限:
// 任何遠程主機都可以訪問數據庫
mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%'WITH GRANT OPTION;
//需要輸入次命令使修改生效
mysql> FLUSH PRIVILEGES;
//退出
mysql> EXIT
第三種不解釋了.
(還有一種方法說是關閉服務器防火牆:# service iptables stop 不建議使用這種方法,會引發未知的安全問題)
很明顯最后還是沒有解決,在網上的資料很多都是重復的,最后實在沒辦法,找了師兄幫忙才發現是阿里雲控制台這邊的問題,說明自己思考的方向還是不對.具體的解決方法是:
打開雲服務器ECS
打開左邊菜單的實例
打開實例最右邊的管理
打開左邊菜單的本實例安全組
打開右邊的配置規則
右上角添加安全組規則
協議類型默認自定義,端口范圍:3306/3306,授權對象:0.0.0.0/0,其他默認就行
確定后重啟服務器
連接OK!
