在linux服務器上配置mysql并開放3306端口的操作步驟
在做大作業(yè),數(shù)據(jù)庫零基礎,折騰了一天才搞成功,特此記錄一下踩過的坑。希望能幫到其他同學吧……
有不對歡迎指出,謝謝啦!
安裝mysql
首先
sudo apt update sudo apt install mysql-server -y
嗯,安裝完了。
然后輸入
sudo systemctl status mysql.service
如果看到:
尤其是這個綠綠的active,就表示已經(jīng)啟動了。
如果沒有active的話,就手動輸入命令:
sudo systemctl start mysql.service
修改密碼
進入mysql
mysql -u root -p
其中-u后面是用戶名,-p后面理論上是直接輸入密碼,但貌似mysql會建議你不要這么干。如果出現(xiàn)讓你輸密碼的提示的話,直接回車即可,初始密碼為空。
看到這樣的界面就進入mysql的操作了。如果要退出,輸入quit并回車即可。
然后在mysql中輸入:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '123456';
即可修改密碼。123456是你準備改的密碼(它可能會阻止你改成這么弱的密碼,那就換個強點的密碼吧)
遠程編輯數(shù)據(jù)庫
我的服務器沒有圖形化界面,所以為了方便起見,我用了mysql workbench來遠程操作數(shù)據(jù)庫。
去官網(wǎng)下載并安裝,一路next就行沒什么難的。
打開mysql workbench,點擊加號。
然后填好信息,記得第二欄選Standard TCP/IP over SSH。
先點底下的Test Connection,如果彈出了OK的界面的話,再點最右側的OK按鈕
再點最右側的OK按鈕,最右側的OK按鈕,最右側的OK按鈕。重要的事說三遍。Test Connection只是檢查是否能連上數(shù)據(jù)庫的,點OK才能保存設置。
然后主界面的“Mysql Connection”應該就多了一個格子,雙擊即可進入遠程數(shù)據(jù)庫的編輯界面。
開放端口
本地mybatis沒過ssh,連不上數(shù)據(jù)庫,因此我們需要開放端口。
數(shù)據(jù)庫的默認端口號是3306,不用改。
終端依次輸入以下指令即可開放端口:
sudo apt-get install iptables sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT sudo iptables-save
然后可以安裝一個netcat測試一下是否成功:
sudo apt-get install netcat nc -zv 127.0.0.1 3306
以下是成功和失敗的輸出結果:
好,重點來了,你的本地機器想連服務器的數(shù)據(jù)庫,當然是不能用127.0.0.1的,然而如果你nc -zv輸入服務器ip地址,會發(fā)現(xiàn)Connection refused。
輸入
netstat -an|grep 3306
紅色的那一行,如果顯示的是:::3306
,表示可以對外開放。如果顯示的是127.0.0.1:3306
,表示只對本地開放。如果你是后者,那么跟著我繼續(xù)應該就能成功解決了,否則……呃……再排排錯找找教程?
首先我們需要編輯一個文件:
cd /etc/mysql/mysql.conf.d/ vim mysqld.cnf
打開后長這樣,如果你紅框里的內容沒有注釋掉,將它注釋掉。另外,如果你發(fā)現(xiàn)你的數(shù)據(jù)庫端口不是3306,把prot=3306那句的注釋去掉。
:wq
保存并退出后,終端輸入
service mysql restart
重啟mysql,然后
netstat -an|grep 3306 nc -zv 服務器ip地址 3306
檢查一下,都和上文說的結果一樣,就表明3306端口開放成功。
開放數(shù)據(jù)庫權限
接下來要對外開放數(shù)據(jù)庫權限。
首先還是
mysql -u root -p
進mysql
然后輸入:
update user set host='%' where user='root';
如果報錯說沒選擇數(shù)據(jù)庫的話,可以用:
show databases;
命令查看一下有哪些數(shù)據(jù)庫,一般來說
use mysql;
(不是你自己建的要開放的數(shù)據(jù)庫)
然后再輸入上面的指令就可以了。
最后
flush privileges;
刷新,再quit退出。
最后終端輸入:
sudo service mysql restart
重啟一下數(shù)據(jù)庫。
現(xiàn)在你的遠程連接大概沒問題了。
另外我的另一踩坑是mysql-connector-java的版本號問題,要和你的服務器mysql版本對應不然可能連不上。你登入mysql的時候會出一大段文字,里面就有版本號。不知道有沒有人會犯和我一樣的錯……
后記
對著防火墻折騰了個把小時才發(fā)現(xiàn)連不上是mysql配置文件的問題,端口只開放給本地了,枯了。
到此這篇關于在linux服務器上配置mysql并開放3306端口的文章就介紹到這了,更多相關linux開放3306端口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- MySQL配置主從服務器(一主多從)
- Ubuntu14.04服務器環(huán)境下配置PHP7.0+Apache2+Mysql5.7的方法
- CentOS7服務器中apache、php7以及mysql5.7的安裝配置代碼
- MySQL 4G內存服務器配置優(yōu)化
- 查看linux服務器上mysql配置文件路徑的方法
- Linux下安裝Python3和django并配置mysql作為django默認服務器方法
- CentOS 6.6安裝配置LAMP服務器(Apache+PHP5+MySQL)
- win2008 r2 服務器php+mysql+sqlserver2008運行環(huán)境配置(從安裝、優(yōu)化、安全等)
- MySQL 中的服務器配置和狀態(tài)詳解(MySQL Server Configuration and Status)
相關文章
MySQL?8.0新功能監(jiān)控統(tǒng)計限制連接不再擔心被垃圾SQL搞爆內存
這篇文章主要介紹了MySQL?8.0新功能監(jiān)控統(tǒng)計限制連接不再擔心被垃圾SQL搞爆內存詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)
最近碰到一個需求是統(tǒng)計某張表的數(shù)據(jù),統(tǒng)計時間維度為近一年,下面這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07MYSQL 創(chuàng)建函數(shù)出錯的解決方案
在程序開發(fā)過程中,大家有沒有遇到過mysql函數(shù)不能創(chuàng)建,我是遇到過,是一個很麻煩的問題,上網(wǎng)搜了些相關資料,整理在一起了,供大家參考,幫助那些需要幫助的朋友2015-08-08/var/log/pacct文件導致MySQL啟動失敗的案例分享
這篇文章主要介紹了/var/log/pacct文件導致MySQL啟動失敗的案例分享,這是個比較讓人郁悶的問題,找不到MySQL啟動失敗的原因進可以按此文的方法試一試,需要的朋友可以參考下2015-01-01