用的是百度雲的雲端伺服器(其他雲端伺服器同理),系統是Ubuntu 20.04 LTS,Mysql版本8.0 ,需求是在Windows上開發,可以隨時遠端連線讀寫伺服器上的Mysql
用ssh客戶端或雲端伺服器廠商提供的網頁版控制台都行,只要你能連上伺服器就行
順便私心推薦一個好看又好用的ssh客戶端:NextSSH
先更新apt倉庫:
sudo apt-get update
順便說一下,因為不知道你們用的都是什麼帳戶,我也搞不清楚哪些指令權限要求比較高,所以我所有指令都加sudo
了,這樣不管是誰複製貼上都能直接用,不會有權限問題。
然後安裝mysql-server:
sudo apt-get install mysql-server -y
到這一步其實mysql就已經安完了並且自動啟動了,可以看一下:
sudo service mysql status
##設定root密碼
此時mysql的root帳號沒有設定密碼,可以直接用mysql
指令登入:mynewpassword部分改成你自己要設定的密碼):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
退出,輸入
指令發現不能直接登入了:
目前為止可以直接在伺服器上用mysql了。
編輯設定檔監聽遠端連接
預設情況下,MySQL 資料庫只監聽本地連接,如果想讓外網遠端連接到資料庫,我們需要修改設定文件,讓MySQL 可以監聽遠端固定ip 或監聽所有遠端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
的時候只監聽本地連接,改成0.0.0.0可以監聽所有連接,或也可以改成僅允許指定ip連線都可以。
現在vim是閱讀模式,按i
進入編輯模式,然後用上下左右鍵定位到這行(最下面顯示INSERT的時候表明處於編輯模式,按Esc可退出返回到閱讀模式):
改完後按Esc退出編輯模式,然後輸入
:wq儲存退出。 (若輸入
:q則退出但不儲存)重啟mysql service使剛才的修改生效:
sudo service mysql restart
允許root帳號使用遠端連線mysql默認只允許root帳號在本地使用,需要修改一下允許遠端使用root帳號(沒試過其他帳號的情況,但原理一致)。先登入mysql:
mysql -u root -p輸入密碼,登入。
然後選擇mysql
資料庫:use mysql;
#檢視帳號的主機權限:
select user, host from user;
update user set host='%' where user='root';######## ####退出mysql。 ######檢查ubuntu自帶的防火牆狀態###
sudo ufw status#############如果是###inactive###說明防火牆沒開,那就不用管了。防火牆是幹嘛的呢,我自己的理解就是,如果開了防火牆,那麼伺服器上所有連接埠都是預設禁止連接的,只有你允許的連接埠才允許連接,類似於這種:###
所以如果防火墙开了,那要么把防火墙直接关了:
sudo ufw disable
要么添加一条规则让防火墙放行3306端口(mysql的默认端口):
sudo ufw allow 3306
打开云服务器的后台管理页面,找到防火墙:
云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:
随便找个数据库管理的软件测试一下:
以上是Ubuntu如何安裝Mysql啟用遠端連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!