Ubuntu安裝Mysql+啟用遠(yuǎn)程連接的完整過(guò)程
背景
用的是百度云的云服務(wù)器(其他云服務(wù)器同理),系統(tǒng)是Ubuntu 20.04 LTS,Mysql版本8.0+,需求是在Windows上開發(fā),可以隨時(shí)遠(yuǎn)程連接讀寫服務(wù)器上的Mysql
建立到服務(wù)器的遠(yuǎn)程連接
用ssh客戶端或者云服務(wù)器廠家提供的網(wǎng)頁(yè)版控制臺(tái)都行,只要你能連上服務(wù)器就行
順便私心推薦一個(gè)好看又好用的ssh客戶端:NextSSH
用apt-get安裝mysql
先更新一下apt倉(cāng)庫(kù):
sudo apt-get update
順便說(shuō)一下,因?yàn)椴恢滥銈冇玫亩际鞘裁促~戶,我也搞不清楚哪些指令權(quán)限要求比較高,所以我所有指令都加sudo
了,這樣不管是誰(shuí)復(fù)制粘貼都能直接用,不會(huì)出現(xiàn)權(quán)限問題。
然后安裝mysql-server:
sudo apt-get install mysql-server -y
到這一步其實(shí)mysql就已經(jīng)安完了并且自動(dòng)啟動(dòng)了,可以看一下:
sudo service mysql status
設(shè)置root密碼
此時(shí)mysql的root賬戶沒有設(shè)置密碼,可以直接用mysql
指令登錄:
設(shè)置一下root的密碼(mynewpassword
部分改成你自己要設(shè)置的密碼):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
退出,輸入mysql
指令發(fā)現(xiàn)不能直接登錄了:
目前為止可以直接在服務(wù)器上用mysql了。
編輯配置文件監(jiān)聽遠(yuǎn)程連接
默認(rèn)情況下,MySQL 數(shù)據(jù)庫(kù)僅監(jiān)聽本地連接,如果想讓外網(wǎng)遠(yuǎn)程連接到數(shù)據(jù)庫(kù),我們需要修改配置文件,讓 MySQL 可以監(jiān)聽遠(yuǎn)程固定 ip 或者監(jiān)聽所有遠(yuǎn)程 ip。
這里需要使用一個(gè)命令行文本編輯器,我用的vim所以就教一下vim,你們要是會(huì)nano或者別的自然知道該怎么弄,要是聽不懂就照我的來(lái)。安裝vim:
sudo apt-get install vim -y
然后用vim打開mysqld.cnf
配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address = 127.0.0.1
這一行:
這個(gè)值是127.0.0.1
的時(shí)候只監(jiān)聽本地連接,改成0.0.0.0
可以監(jiān)聽所有連接,或者也可以改成僅允許指定ip連接都可以。
現(xiàn)在vim是閱讀模式,按一下i
進(jìn)入編輯模式,然后用上下左右鍵定位到這行(最下面顯示INSERT的時(shí)候表明處于編輯模式,按Esc可退出返回到閱讀模式):
改完之后按Esc退出編輯模式,然后輸入:wq
保存退出。(若輸入:q
則退出但不保存)
重啟mysql service使剛才的修改生效:
sudo service mysql restart
允許root賬號(hào)使用遠(yuǎn)程連接
mysql默認(rèn)只允許root賬號(hào)在本地使用,需要修改一下允許遠(yuǎn)程使用root賬號(hào)(沒試過(guò)其他賬號(hào)的情況,但原理一致)。先登錄mysql:
mysql -u root -p
輸入密碼,登錄。
然后選擇mysql
數(shù)據(jù)庫(kù):
use mysql;
查看賬號(hào)的主機(jī)權(quán)限:
select user, host from user;
host
處為localhost
時(shí)只允許本地使用,改成%
即可遠(yuǎn)程使用:
update user set host='%' where user='root';
退出mysql。
檢查ubuntu自帶的防火墻狀態(tài)
sudo ufw status
如果是inactive
說(shuō)明防火墻沒開,那就不用管了。防火墻是干嘛的呢,我自己的理解就是,如果開了防火墻,那服務(wù)器上所有端口都是默認(rèn)禁止連接的,只有你允許的端口才允許連接,類似于這種:
所以如果防火墻開了,那要么把防火墻直接關(guān)了:
sudo ufw disable
要么添加一條規(guī)則讓防火墻放行3306端口(mysql的默認(rèn)端口):
sudo ufw allow 3306
檢查云服務(wù)器廠商的防火墻狀態(tài)
打開云服務(wù)器的后臺(tái)管理頁(yè)面,找到防火墻:
云服務(wù)器廠商默認(rèn)只開啟幾個(gè)最常用的端口,其他端口都是默認(rèn)關(guān)閉的,所以也要在這里添加一條規(guī)則放行3306端口:
測(cè)試連接
隨便找個(gè)數(shù)據(jù)庫(kù)管理的軟件測(cè)試一下:
就連上了。常見的問題應(yīng)該都提到了,如果還是連不上那你們?cè)傧胂朕k法吧。
到此這篇關(guān)于Ubuntu如何安裝Mysql+啟用遠(yuǎn)程連接[完整版]的文章就介紹到這了,更多相關(guān)Ubuntu安裝Mysql啟用遠(yuǎn)程連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE
這篇文章主要介紹了mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07SQL中寫入包含有英文單引號(hào)“ '''' ”失敗問題深入詳解
這篇文章主要介紹了SQL中寫入包含有英文單引號(hào)“ ' ”失敗問題深入詳解,列舉了具體實(shí)例講解,有感興趣的同學(xué)可以研究下2021-03-03MySql5.7.11編譯安裝及修改root密碼的方法小結(jié)
這篇文章主要介紹了MySql5.7.11編譯安裝及修改root密碼的方法小結(jié)的相關(guān)資料,需要的朋友可以參考下2016-04-04MySQL 表數(shù)據(jù)的導(dǎo)入導(dǎo)出操作示例
這篇文章主要介紹了MySQL 表數(shù)據(jù)的導(dǎo)入導(dǎo)出操作,結(jié)合實(shí)例形式分析了MySQL 表數(shù)據(jù)的導(dǎo)入導(dǎo)出操作基本命令、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04