在linux服務(wù)器上配置mysql并開放3306端口的操作步驟
在做大作業(yè),數(shù)據(jù)庫零基礎(chǔ),折騰了一天才搞成功,特此記錄一下踩過的坑。希望能幫到其他同學(xué)吧……
有不對歡迎指出,謝謝啦!
安裝mysql
首先
sudo apt update sudo apt install mysql-server -y
嗯,安裝完了。
然后輸入
sudo systemctl status mysql.service
如果看到:

尤其是這個(gè)綠綠的active,就表示已經(jīng)啟動了。
如果沒有active的話,就手動輸入命令:
sudo systemctl start mysql.service
修改密碼
進(jìn)入mysql
mysql -u root -p
其中-u后面是用戶名,-p后面理論上是直接輸入密碼,但貌似mysql會建議你不要這么干。如果出現(xiàn)讓你輸密碼的提示的話,直接回車即可,初始密碼為空。

看到這樣的界面就進(jìn)入mysql的操作了。如果要退出,輸入quit并回車即可。
然后在mysql中輸入:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '123456';
即可修改密碼。123456是你準(zhǔn)備改的密碼(它可能會阻止你改成這么弱的密碼,那就換個(gè)強(qiáng)點(diǎn)的密碼吧)
遠(yuǎn)程編輯數(shù)據(jù)庫
我的服務(wù)器沒有圖形化界面,所以為了方便起見,我用了mysql workbench來遠(yuǎn)程操作數(shù)據(jù)庫。
去官網(wǎng)下載并安裝,一路next就行沒什么難的。
打開mysql workbench,點(diǎn)擊加號。

然后填好信息,記得第二欄選Standard TCP/IP over SSH。

先點(diǎn)底下的Test Connection,如果彈出了OK的界面的話,再點(diǎn)最右側(cè)的OK按鈕
再點(diǎn)最右側(cè)的OK按鈕,最右側(cè)的OK按鈕,最右側(cè)的OK按鈕。重要的事說三遍。Test Connection只是檢查是否能連上數(shù)據(jù)庫的,點(diǎn)OK才能保存設(shè)置。
然后主界面的“Mysql Connection”應(yīng)該就多了一個(gè)格子,雙擊即可進(jìn)入遠(yuǎn)程數(shù)據(jù)庫的編輯界面。
開放端口
本地mybatis沒過ssh,連不上數(shù)據(jù)庫,因此我們需要開放端口。
數(shù)據(jù)庫的默認(rèn)端口號是3306,不用改。
終端依次輸入以下指令即可開放端口:
sudo apt-get install iptables sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT sudo iptables-save
然后可以安裝一個(gè)netcat測試一下是否成功:
sudo apt-get install netcat nc -zv 127.0.0.1 3306
以下是成功和失敗的輸出結(jié)果:

好,重點(diǎn)來了,你的本地機(jī)器想連服務(wù)器的數(shù)據(jù)庫,當(dāng)然是不能用127.0.0.1的,然而如果你nc -zv輸入服務(wù)器ip地址,會發(fā)現(xiàn)Connection refused。
輸入
netstat -an|grep 3306
紅色的那一行,如果顯示的是:::3306,表示可以對外開放。如果顯示的是127.0.0.1:3306,表示只對本地開放。如果你是后者,那么跟著我繼續(xù)應(yīng)該就能成功解決了,否則……呃……再排排錯找找教程?

首先我們需要編輯一個(gè)文件:
cd /etc/mysql/mysql.conf.d/ vim mysqld.cnf
打開后長這樣,如果你紅框里的內(nèi)容沒有注釋掉,將它注釋掉。另外,如果你發(fā)現(xiàn)你的數(shù)據(jù)庫端口不是3306,把prot=3306那句的注釋去掉。

:wq保存并退出后,終端輸入
service mysql restart
重啟mysql,然后
netstat -an|grep 3306 nc -zv 服務(wù)器ip地址 3306
檢查一下,都和上文說的結(jié)果一樣,就表明3306端口開放成功。
開放數(shù)據(jù)庫權(quán)限
接下來要對外開放數(shù)據(jù)庫權(quán)限。
首先還是
mysql -u root -p
進(jìn)mysql
然后輸入:
update user set host='%' where user='root';
如果報(bào)錯說沒選擇數(shù)據(jù)庫的話,可以用:
show databases;
命令查看一下有哪些數(shù)據(jù)庫,一般來說
use mysql;
(不是你自己建的要開放的數(shù)據(jù)庫)
然后再輸入上面的指令就可以了。
最后
flush privileges;
刷新,再quit退出。
最后終端輸入:
sudo service mysql restart
重啟一下數(shù)據(jù)庫。
現(xiàn)在你的遠(yuǎn)程連接大概沒問題了。
另外我的另一踩坑是mysql-connector-java的版本號問題,要和你的服務(wù)器mysql版本對應(yīng)不然可能連不上。你登入mysql的時(shí)候會出一大段文字,里面就有版本號。不知道有沒有人會犯和我一樣的錯……
后記
對著防火墻折騰了個(gè)把小時(shí)才發(fā)現(xiàn)連不上是mysql配置文件的問題,端口只開放給本地了,枯了。
到此這篇關(guān)于在linux服務(wù)器上配置mysql并開放3306端口的文章就介紹到這了,更多相關(guān)linux開放3306端口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL配置主從服務(wù)器(一主多從)
- Ubuntu14.04服務(wù)器環(huán)境下配置PHP7.0+Apache2+Mysql5.7的方法
- CentOS7服務(wù)器中apache、php7以及mysql5.7的安裝配置代碼
- MySQL 4G內(nèi)存服務(wù)器配置優(yōu)化
- 查看linux服務(wù)器上mysql配置文件路徑的方法
- Linux下安裝Python3和django并配置mysql作為django默認(rèn)服務(wù)器方法
- CentOS 6.6安裝配置LAMP服務(wù)器(Apache+PHP5+MySQL)
- win2008 r2 服務(wù)器php+mysql+sqlserver2008運(yùn)行環(huán)境配置(從安裝、優(yōu)化、安全等)
- MySQL?中的服務(wù)器配置和狀態(tài)詳解(MySQL?Server?Configuration?and?Status)
相關(guān)文章
阿里云ECS centos6.8下安裝配置MySql5.7的教程
阿里云默認(rèn)yum命令下的MySQL是5.17****,安裝mysql5.7之前先卸載以前的版本。下面通過本文給大家介紹阿里云ECS centos6.8下安裝配置MySql5.7的教程,需要的的朋友參考下吧2017-07-07
Windows下修改mysql的data文件夾存放位置的方法
這篇文章主要介紹了在Windows下修改mysql的data文件夾存放位置的方法,需要的朋友可以參考下2014-03-03
JDBC連接mysql8和mysql5.7的注意事項(xiàng)
這篇文章主要介紹了JDBC連接mysql8和mysql5.7的注意事項(xiàng),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
SQL語句多表聯(lián)查的實(shí)現(xiàn)方法示例
多表聯(lián)合檢索可以通過連接運(yùn)算來完成,而連接運(yùn)算又可以通過廣義笛卡爾積后再進(jìn),下面這篇文章主要給大家介紹了關(guān)于SQL語句多表聯(lián)查實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
mysql中g(shù)rant?all?privileges?on賦給用戶遠(yuǎn)程權(quán)限方式
這篇文章主要介紹了mysql中g(shù)rant?all?privileges?on賦給用戶遠(yuǎn)程權(quán)限方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
mysql命令行中執(zhí)行sql的幾種方式總結(jié)
下面小編就為大家?guī)硪黄猰ysql命令行中執(zhí)行sql的幾種方式總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11

