溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu上怎么設(shè)置MySQL遠(yuǎn)程訪問

發(fā)布時(shí)間:2023-04-20 14:58:12 來源:億速云 閱讀:87 作者:iii 欄目:MySQL數(shù)據(jù)庫

本篇內(nèi)容主要講解“Ubuntu上怎么設(shè)置MySQL遠(yuǎn)程訪問”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Ubuntu上怎么設(shè)置MySQL遠(yuǎn)程訪問”吧!

第一步:檢查MySQL是否啟用遠(yuǎn)程訪問

在開始配置之前,我們需要確保MySQL啟用了遠(yuǎn)程訪問。首先,我們需要登錄MySQL服務(wù)器,并查看是否啟用了遠(yuǎn)程訪問。打開終端,然后輸入以下命令:

sudo mysql -u root -p

該命令將以root用戶的身份登錄MySQL。在輸入該命令后,您將被要求輸入密碼。如果您輸入了正確的密碼,您將進(jìn)入MySQL shell,該shell允許您訪問MySQL服務(wù)器的命令行界面。在MySQL shell中,我們需要輸入以下命令來查看是否啟用了遠(yuǎn)程訪問:

SELECT user,authentication_string,host FROM mysql.user;

如果遠(yuǎn)程訪問已啟用,您應(yīng)該會看到如下輸出:

+------------------+-------------------------------+-----------+
| user             | authentication_string         | host      |
+------------------+-------------------------------+-----------+
| root             | *E0AAECBBB187B27AAF667AEC86667 | localhost |
| root             | *E0AAECBBB187B27AAF667AEC86667 | %         |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHAT | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHAT | localhost |
| debian-sys-maint | *456D0C7680DF288F66F7401EABC4B | localhost |
+------------------+-------------------------------+-----------+

這里的“%”表示MySQL允許任何主機(jī)上的用戶訪問。如果您看到這個(gè)輸出,那么MySQL已啟用遠(yuǎn)程訪問。

如果您沒有看到上面的輸出或者如果您看到的輸出與上面的不同,則表示MySQL沒有啟用遠(yuǎn)程訪問。在這種情況下,您需要對MySQL進(jìn)行配置,以允許遠(yuǎn)程訪問。

第二步:為MySQL設(shè)置新的遠(yuǎn)程訪問帳戶

在啟用遠(yuǎn)程訪問之前,我們需要為MySQL創(chuàng)建一個(gè)新的遠(yuǎn)程訪問帳戶。這樣做的原因是MySQL默認(rèn)只允許root用戶在本地訪問服務(wù)器,其他用戶需要使用開放授權(quán)來訪問。

為了設(shè)置新的遠(yuǎn)程訪問帳戶,我們需要在MySQL shell中執(zhí)行以下命令:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

這些命令將創(chuàng)建一個(gè)名為“ newuser”的新用戶,并分配所有訪問權(quán)限。“%”表示用戶可以從任何主機(jī)訪問MySQL服務(wù)器。您也可以使用特定的IP地址或主機(jī)名來指定允許的主機(jī)。例如,“ newuser”@“10.0.0.2”表示只允許從IP地址為“10.0.0.2”的主機(jī)訪問MySQL服務(wù)器。

第三步:配置防火墻以允許MySQL流量

通常情況下,MySQL服務(wù)器可能是由防火墻保護(hù)的。為了允許遠(yuǎn)程訪問MySQL服務(wù)器,您需要在防火墻上打開MySQL端口(默認(rèn)為3306)。為了做到這一點(diǎn),我們需要輸入以下命令:

sudo ufw allow 3306/tcp

這個(gè)命令將打開一個(gè)名為“3306”的端口,允許TCP流量通過防火墻。但是,在進(jìn)行這個(gè)步驟之前,你需要確保您的防火墻是否已經(jīng)安裝和啟用。

第四步:更新MySQL配置文件

為了允許遠(yuǎn)程登錄MySQL服務(wù)器,您需要在MySQL配置文件中對其進(jìn)行設(shè)置。默認(rèn)情況下,MySQL配置文件位于“/etc/mysql/mysql.conf.d/mysqld.cnf”。您需要以管理員身份打開該文件并編輯如下幾個(gè)值:

bind-address = 0.0.0.0

上面的命令將允許MySQL服務(wù)器接受來自任何IP地址的連接請求。注意,這可能是不安全的,因?yàn)樗沟肕ySQL服務(wù)器容易受到未授權(quán)的訪問。如果你想更安全地進(jìn)行MySQL遠(yuǎn)程訪問,你應(yīng)該指定允許訪問的IP地址或CIDR范圍。

第五步:重啟MySQL服務(wù)器

在修改了MySQL配置文件之后,您需要重啟MySQL服務(wù)器,以使更改生效。要重啟MySQL,您可以使用以下命令:

sudo systemctl restart mysql

如果您看到如下輸出,則表示MySQL服務(wù)器已成功重啟:

mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-01-21 15:40:22 EST; 17s ago

此時(shí),您已經(jīng)成功地設(shè)置了MySQL服務(wù)器的遠(yuǎn)程訪問。

到此,相信大家對“Ubuntu上怎么設(shè)置MySQL遠(yuǎn)程訪問”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI