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