一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

2021-01-06 16:27qq43058685 Mysql

這兩天為了解決workbench連接不上阿里云服務器的問題,搞得頭大,網上搜到的教程都大同小異,但唯獨到我這就是行不通。不過好在最后終于解決了,記錄一下這個坑爹的過程,另外腳本之家小編特把這些問題整理了一下,看完這

這兩天為了解決workbench連接不上阿里云服務器的問題,搞得頭大,網上搜到的教程都大同小異,但唯獨到我這就是行不通。不過好在最后終于解決了,記錄一下這個坑爹的過程。

使用的環境:

系統:

Ubuntu 18.04.2 LTS
Mysql:mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper

MySQL Workbench8.0CE

1. 無法連接到服務器

一開始連接的時候是出現下面這種狀態。

Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

遇到的坑之一

網上查到的大多數方法就是修改bind_address的值

先檢查以下mysql的端口狀態

netstat -anp|grep mysql

ps:如果顯示127.0.0.1:3306 則說明需要修改,若為: : :3306,則不用

因為我顯示的狀態是127.0.0.1:3306是這個值,所以得去修改。

網上查到的大多數修改配置文件路徑均說是在**/etc/mysql/my.cnf**,但這是對舊版本而已,由于我裝的是最新版,所以打開這個文件之后發現里面并沒有bind_address這個給值。后來查了一下才發現,新版的是在**/etc/mysql/mysql.conf.d/mysqld.cnf**。既然發現問題所在,那么改過來就很方便了。找到下面這部分,然后注釋掉即可。

 # Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

2. 修改mysql.user表的信息

為了能讓root用戶遠程訪問數據庫,所以得去改一些信息。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql -u root -p password
mysql>use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> select user,host from user;
+------------------+----------------+
| user    | host   |
+------------------+----------------+
| root    | localhost  |
| debian-sys-maint | localhost  |
| mysql.session | localhost  |
| mysql.sys  | localhost  |
+------------------+----------------+

 上面的host表示用戶可以從那些地址訪問數據庫。由于是localhost,所以只能本地訪問。一共查到了兩種修改方法,一個是直接將原本root對應的host改成**%**,或者新添一個可以遠程訪問的用戶 。

方法一:

在進入mysql數據庫中的狀態下執行下面命令

update user set host='%' where user='root'

方法二:新添一個用戶:

grant all privileges on *.* to new_user@'%' identified by "password";

無論用了上面哪一種最后都得刷新一下剛才的設置

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

這兩個方式都試了,還是不行,出現說我們目前的ip不允許連接。

Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

后來試了好多次發現, 遠程連接的用戶名不要用root。經過幾次重裝嘗試發現,設置root可以遠程連接,就一直失敗。

3. 關閉防火墻

# 先重啟一下數據庫
sudo service mysql restart
# 檢查MySQL端口狀況是否為 : : :3306
netstat -anp|grep mysql
# 關閉防火墻
sudo ufw disable
# 查看防火墻狀態
sudo ufw status

4. 開放端口

阿里云或者其他云服務的用戶一定要注意去開防對應的端口,默認狀態mysql的端口為3306。

打開阿里云的控制臺,添加安全組規則

Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

有一個安全組限制的設置,設置一下入方向可以允許3306端口再嘗試以下,瞬間就好了

阿里云ECS MySQL無法遠程連接,如果你試了網上所有的教程還是無法連接請看下面

首先要檢查防火墻,這是最基本的,很多教程會提到,開啟3306端口
檢查阿里云服務器安全組,看一下是否開啟3306的出入站規則,這個真的好坑,不知道什么時候阿里云linux服務器上還有這個東西了,印象中只在Windows server上有
通過工具連接有的時候還是連接不上,會提示跟SSL有關的,我是用IDEA和MySQL workbench連接,IDEA是要在連接的URL上面添加

useSSl=false

至于MySQL workbench我沒有找到如何連接,所以還可選的是服務器禁用SSL
找到my.cnf文件,一般在/etc/my.conf
向內容中添加skip_ssl命令關閉SSL

service mysqld restart

重啟mysql

設置所有IP可以訪問,修改localhost為127.0.0.1等就不說了,網上有很多文章可以參考,對安全組和SSL不熟悉的可以參考以上方法

連接數據庫時useSSL=false的作用

useSSL=false
MySQL在高版本需要指明是否進行SSL連接

1.true 需要連接
2.false 不需要連接

5. 搞定

Workbench連接不上阿里云服務器Ubuntu的Mysql解決方法(已測)

到此文章就介紹了,這樣基本上什么都解決了。 

原文鏈接:https://blog.csdn.net/qq_43058685/article/details/104267351

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成年黄网站色高清视频 | 日本国产在线视频 | 色图片小说 | 潘金莲西门庆一级淫片aaaaaa | 99精品网| 精品国产在线观看 | 亚洲2023无矿砖码砖区 | 高清男的插曲女的 欢迎你老狼 | 国产精品女主播大秀在线 | 日本高清在线看免费观看 | 欧美日韩中文字幕在线视频 | 国产裸舞福利资源在线视频 | 91免费播放人人爽人人快乐 | xxx黑人又大粗又长 xxxx性欧美极品另类 | 五月天黄网 | 色综七七久久成人影 | 成人做视频免费 | 甜蜜调教 | 91影视永久福利免费观看 | 99精品国产高清一区二区三区香蕉 | tube69xxxxhd日本| 精品久久国产 | 果冻传媒天美传媒乌鸦传媒 | 国产99视频精品免费视频免里 | 日韩高清在线免费看 | 白丝出水 | 成人人免费夜夜视频观看 | 成年男女免费大片在线观看 | 久久国产伦子伦精品 | 德国高清freexxxx性 | 800精品国产导航 | 欧美精品黑人巨大在线播放 | 啪啪导航 | 精品性久久 | 免看一级a一片成人123 | 欧美成人福利 | 爱情岛论坛亚洲永久入口口 | 日本www色视频成人免费 | 啪哆哆 | 日本三级免费网站 | 91亚洲精品第一综合不卡播放 |