一、安裝并啟動(dòng)MySQL服務(wù)器
首先,我們需要安裝MySQL數(shù)據(jù)庫(kù)服務(wù)器,并確保其正常運(yùn)行。安裝完成后,可以通過(guò)以下命令啟動(dòng)MySQL服務(wù):
sudo systemctl start mysql
二、創(chuàng)建遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)
為了讓其他用戶(hù)能夠訪(fǎng)問(wèn)MySQL數(shù)據(jù)庫(kù),我們需要?jiǎng)?chuàng)建一個(gè)遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)??梢允褂靡韵旅顒?chuàng)建一個(gè)新用戶(hù),并設(shè)置密碼:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
其中,"remote_user"是你要?jiǎng)?chuàng)建的遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)的用戶(hù)名,"%"表示允許任何IP地址訪(fǎng)問(wèn),你也可以將其替換為特定的IP地址或子網(wǎng)。"your_password"是你要設(shè)置的密碼。
三、授權(quán)遠(yuǎn)程訪(fǎng)問(wèn)權(quán)限
創(chuàng)建遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)后,需要為其分配訪(fǎng)問(wèn)權(quán)限。可以使用以下命令為遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)分配權(quán)限:
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
這個(gè)命令將為遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)分配所有數(shù)據(jù)庫(kù)和表的所有權(quán)限。如果你只想分配特定數(shù)據(jù)庫(kù)或表的權(quán)限,可以將"*.*"替換為相應(yīng)的數(shù)據(jù)庫(kù)名或表名。
四、刷新權(quán)限
執(zhí)行完上述命令后,需要刷新權(quán)限,使更改生效:
FLUSH PRIVILEGES;
五、配置防火墻
為了確保遠(yuǎn)程訪(fǎng)問(wèn)的安全,需要配置防火墻允許外部訪(fǎng)問(wèn)MySQL端口(默認(rèn)為3306)??梢允褂靡韵旅铋_(kāi)放MySQL端口:
sudo ufw allow 3306/tcp
然后,重啟防火墻以使更改生效:
sudo systemctl restart ufw
六、測(cè)試遠(yuǎn)程訪(fǎng)問(wèn)
最后,我們可以通過(guò)以下步驟測(cè)試遠(yuǎn)程訪(fǎng)問(wèn)是否成功:
1. 在本地計(jì)算機(jī)上打開(kāi)命令行工具,連接到本地MySQL服務(wù)器:
mysql -u root -p your_password --connect-expose-uid=localhost
2. 在連接提示符下,輸入以下命令查看當(dāng)前連接的用戶(hù):
SELECT user();
如果返回的結(jié)果是你剛剛創(chuàng)建的遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù),說(shuō)明遠(yuǎn)程訪(fǎng)問(wèn)已經(jīng)成功配置。此時(shí),你可以在其他設(shè)備上使用相同的用戶(hù)名和密碼進(jìn)行遠(yuǎn)程訪(fǎng)問(wèn)。