您好,登錄后才能下訂單哦!
這篇文章主要介紹“Ubuntu如何安裝Mysql啟用遠程連接”,在日常操作中,相信很多人在Ubuntu如何安裝Mysql啟用遠程連接問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Ubuntu如何安裝Mysql啟用遠程連接”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
用的是百度云的云服務器(其他云服務器同理),系統是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
此時mysql的root賬戶沒有設置密碼,可以直接用mysql
指令登錄:
設置一下root的密碼(mynewpassword
部分改成你自己要設置的密碼):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
退出,輸入mysql
指令發現不能直接登錄了:
目前為止可以直接在服務器上用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
mysql默認只允許root賬號在本地使用,需要修改一下允許遠程使用root賬號(沒試過其他賬號的情況,但原理一致)。先登錄mysql:
mysql -u root -p
輸入密碼,登錄。
然后選擇mysql
數據庫:
use mysql;
查看賬號的主機權限:
select user, host from user;
host
處為localhost
時只允許本地使用,改成%
即可遠程使用:
update user set host='%' where user='root';
退出mysql。
sudo ufw status
如果是inactive
說明防火墻沒開,那就不用管了。防火墻是干嘛的呢,我自己的理解就是,如果開了防火墻,那服務器上所有端口都是默認禁止連接的,只有你允許的端口才允許連接,類似于這種:
所以如果防火墻開了,那要么把防火墻直接關了:
sudo ufw disable
要么添加一條規則讓防火墻放行3306端口(mysql的默認端口):
sudo ufw allow 3306
打開云服務器的后臺管理頁面,找到防火墻:
云服務器廠商默認只開啟幾個最常用的端口,其他端口都是默認關閉的,所以也要在這里添加一條規則放行3306端口:
隨便找個數據庫管理的軟件測試一下:
到此,關于“Ubuntu如何安裝Mysql啟用遠程連接”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。