Ubuntu?服務器安裝?MySQL?遠程數據庫的方法
在 Web 項目中,我們需要使用到遠程數據庫,開發(fā)階段也需要連接并查看數據庫的狀況。騰訊云、阿里云等云平臺提供了遠程數據庫,可直接使用;當然也可以自己在部署 Web 的服務器上安裝數據庫,將其配置為遠程數據庫,供 Web 應用使用。
本篇介紹如何在 Linux 服務器上安裝 MySQL 數據庫,并設置為可遠程連接。
在 Ubuntu 上安裝 MySQL
為安裝最新版本的 MySQL,我們可以先更新一下 apt 管理的資源包。
以 sudo 用戶身份登錄,執(zhí)行以下命令:
sudo apt update
待更新完畢后,輸入以下命令,安裝 MySQL:
sudo apt install mysql-server
安裝完成后,MySQL 服務會自動啟動。想驗證 MySQL 正在運行,輸入:
sudo systemctl status mysql
輸出如下圖,即表示已啟動。
開啟遠程連接權限
編輯 MySQL 配置文件
默認情況下,MySQL 數據庫僅監(jiān)聽本地連接。若想允許遠程連接數據庫,首先需要修改配置文件,讓 MySQL 可以監(jiān)聽遠程固定 IP 或所有遠程 IP。
配置文件 mysqld.cnf
路徑一般為 /etc/mysql/mysql.conf.d/mysqld.cnf
。
輸入以下命令打開編輯:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address
一行,默認該值為 127.0.0.1,僅監(jiān)聽本地連接。我們將其改為遠程連接 IP 可訪問,可以使用通配符 IP 地址 0.0.0.0
,也可以是固定 IP,僅允許指定 IP 連接。這里我修改為 0.0.0.0
,允許所有 IP 地址訪問。
在某些 MySQL 版本的配置文件中,沒有
bind-address
一行,在如上圖的合適位置上添加即可。
更改后,保存并退出編輯器(使用 Ctrl+X 保存并退出)。后重啟 MySQL 服務,使新配置生效。
sudo systemctl restart mysql
創(chuàng)建 MySQL 用戶
以 sudo 權限進入 MySQL 服務:
sudo mysql
進入 MySQL 后,創(chuàng)建一個可遠程連接 MySQL 的用戶,并設置為使用密碼作為認證方式。
CREATE USER 'zewan'@'%' IDENTIFIED WITH mysql_native_password BY 'zewan1234';
上述命令中,%
表示 IP 任意,@
前的用戶名和 BY
后面的密碼修改為自己的信息。
執(zhí)行完畢后,使用下列命令可以查看到所有的 user,包括我們新建的:
SELECT DISTINCT CONCAT('User: ''', user, '''@''', host, ''';') AS quert FROM mysql.user;
接下來,我們賦予該用戶擁有所有數據庫的訪問權限,使其成為新的獨立管理用戶:
GRANT ALL PRIVILEGES ON *.* TO 'zewan'@'%' WITH GRANT OPTION;
最后,刷新 MySQL 系統(tǒng)權限相關表,更新緩存,并退出 MySQL。
FLUSH PRIVILEGES; EXIT;
遠程連接 MySQL 數據庫
命令行遠程訪問
命令格式如下:
mysql -u <username> -h <mysql_server_ip> -p
Jetbrains 家族 Database 連接
在 IDEA、Pycharm 等軟件中,內置 Database 訪問插件,具備可視化數據庫表的功能,一般在右側任務欄點擊展開。
點擊加號,選擇 MySQL 作為 Data Source。
在彈出框中,填入遠程數據庫IP(Host)、用戶名(User)、密碼(Password),后點擊 Test connection 嘗試連接。出現下圖成功標識,即表示可成功連接數據庫,隨后點擊應用(Apply)即可。
隨后,軟件中會出現 console,我們可以在這里輸入 MySQL 語句并點擊綠色啟動按鈕執(zhí)行命令,同時可雙擊右側彈出欄中的數據庫表,查看信息。
附上 MySQL 創(chuàng)建數據庫,并指定編碼 UTF8 的命令:
CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;
到此這篇關于Ubuntu 服務器安裝 MySQL 遠程數據庫的文章就介紹到這了,更多相關Ubuntu 安裝 MySQL遠程數據庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql server is running with the --skip-grant-tables option
今天在mysql中新建數據庫提示The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement,原來是數據中配置的--skip-grant-tables,這樣安全就降低了,這個一般當忘記root密碼的時候需要這樣操作2017-07-07