最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

允許遠(yuǎn)程訪問MySQL的實現(xiàn)方式

 更新時間:2024年01月15日 08:38:38   作者:timi先生  
這篇文章主要介紹了允許遠(yuǎn)程訪問MySQL的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

如何允許遠(yuǎn)程訪問 MySQL

現(xiàn)在許多網(wǎng)站和應(yīng)用程序一開始的 Web 服務(wù)器和數(shù)據(jù)庫后端都托管在同一臺計算機上。

隨著時間的推移,這樣的方式可能會變得很麻煩并且難以擴展。

常見的解決方案

是通過設(shè)置遠(yuǎn)程數(shù)據(jù)庫來分離這些功能,從而允許服務(wù)器和數(shù)據(jù)庫在各自的計算機上按照自己的節(jié)奏增長。

用戶在嘗試設(shè)置遠(yuǎn)程 MySQL 數(shù)據(jù)庫時遇到的最常見問題之一是他們的 MySQL 實例僅配置為偵聽本地連接。

這是 MySQL 的默認(rèn)設(shè)置,但它不適用于遠(yuǎn)程數(shù)據(jù)庫設(shè)置,因為 MySQL 必須能夠偵聽可訪問服務(wù)器的*外部IP 地址。

*要啟用此功能,請打開mysqld.cnf`文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

導(dǎo)航到以指令開頭的行bind-address。

它看起來像這樣:

/etc/mysql/mysql.conf.d/mysqld.cnf

. . .
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
. . .

默認(rèn)情況下,該值設(shè)置為127.0.0.1,這意味著服務(wù)器將僅查找本地連接。

所以需要更改此指令以引用外部 IP 地址。

可以將此指令設(shè)置為通配符 IP 地址,*、::或0.0.0.0:

/etc/mysql/mysql.conf.d/mysqld.cnf

. . .
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 0.0.0.0
. . .

**注意:**在某些版本的 MySQL 中,默認(rèn)情況下該bind-address指令可能不在mysqld.cnf文件中。

在這種情況下,請將以下突出顯示的行添加到文件底部:

/etc/mysql/mysql.conf.d/mysqld.cnf

. . .
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
bind-address            = 0.0.0.0

更改此行后,保存并關(guān)閉文件。

然后重新啟動 MySQL 服務(wù)以使所做的更改生效:

sudo systemctl restart mysql

如果現(xiàn)在有一個現(xiàn)有的 MySQL 用戶帳戶,打算用于從遠(yuǎn)程主機連接到數(shù)據(jù)庫,則需要重新配置該帳戶以從遠(yuǎn)程服務(wù)器而不是localhost進(jìn)行連接。

則使用 MySQL root 用戶或其他特權(quán)用戶帳戶打開 MySQL 客戶端:

sudo mysql

如果root啟用了密碼身份驗證,則需要使用以下命令來訪問 MySQL shell:

mysql -u root -p

運行以下命令,確保更改sammy為您的 MySQL 用戶帳戶的名稱和remote_server_ip遠(yuǎn)程服務(wù)器的 IP 地址:

RENAME USER 'sammy'@'localhost' TO 'sammy'@'remote_server_ip';

或者,可以使用以下命令創(chuàng)建一個僅從遠(yuǎn)程主機連接的新用戶帳戶:

CREATE USER 'sammy'@'remote_server_ip' IDENTIFIED BY 'password';

注意:此命令將創(chuàng)建一個使用 MySQL 的默認(rèn)身份驗證插件caching_sha2_password 進(jìn)行身份驗證的用戶。但是,某些版本的 PHP 存在一個已知問題,可能會導(dǎo)致此插件出現(xiàn)問題。

如果計劃將此數(shù)據(jù)庫與 PHP 應(yīng)用程序(例如 phpMyAdmin)一起使用,則創(chuàng)建一個遠(yuǎn)程用戶,該用戶將使用較舊但仍然安全的mysql_native_password插件進(jìn)行身份驗證:

CREATE USER 'sammy'@'remote_server_ip' IDENTIFIED WITH mysql_native_password BY 'password';

如果不確定,則可以創(chuàng)建一個用戶進(jìn)行身份驗證,例如使用以下命令進(jìn)行身份驗證:(注意用戶和IP)

ALTER USER 'sammy'@'remote_server_ip' IDENTIFIED WITH mysql_native_password BY 'password';

然后根據(jù)特定需求授予新用戶適當(dāng)?shù)臋?quán)限。授權(quán)這玩意到處都用,下面是一個示例:

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'sammy'@'remote_server_ip' WITH GRANT OPTION;

然后刷新權(quán)限:

FLUSH PRIVILEGES;

然后就可以退出MySQL客戶端了:

exit

最后,假設(shè)已經(jīng)在數(shù)據(jù)庫服務(wù)器上配置了防火墻,打開了端口3306(MySQL 的默認(rèn)端口)。

如果只計劃從一臺特定計算機訪問數(shù)據(jù)庫服務(wù)器,則可以使用以下命令授予該計算機遠(yuǎn)程連接數(shù)據(jù)庫的獨占權(quán)限。

確保替換remote_IP_address為計劃連接的機器的實際 IP 地址:

sudo ufw allow from remote_IP_address to any port 3306

如果將來需要從其他計算機訪問數(shù)據(jù)庫,可以使用此命令臨時授予它們訪問權(quán)限。

只需記住包含它們各自的 IP 地址即可。

或者,可以使用以下命令允許從任何IP 地址連接到 MySQL 數(shù)據(jù)庫:

警告:此命令將使任何人都可以訪問你的 MySQL 數(shù)據(jù)庫。如果數(shù)據(jù)庫包含任何敏感數(shù)據(jù),請勿運行它。

sudo ufw allow 3306

接下來,嘗試從另一臺計算機遠(yuǎn)程訪問數(shù)據(jù)庫:

注意:如果添加了防火墻規(guī)則以僅允許來自特定 IP 地址的連接,則必須嘗試使用與該地址關(guān)聯(lián)的計算機來訪問數(shù)據(jù)庫。

mysql -u user -h database_server_ip -p

如果能夠訪問數(shù)據(jù)庫,則表明配置文件中的bind-address指令存在問題。

但請注意,該設(shè)置bind-address是0.0.0.0不安全的,因為它允許從任何 IP 地址連接到服務(wù)器。

另一方面,如果仍然無法遠(yuǎn)程訪問數(shù)據(jù)庫,則可能是其他原因?qū)е铝嗽搯栴}。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql插入帶有引號的字符串?dāng)?shù)據(jù)最佳實踐

    Mysql插入帶有引號的字符串?dāng)?shù)據(jù)最佳實踐

    在MySQL中可以使用單引號或雙引號來包裹字符串,下面這篇文章主要給大家介紹了關(guān)于Mysql插入帶有引號的字符串?dāng)?shù)據(jù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • MySQL 庫的操作案例之從創(chuàng)建配置到備份恢復(fù)

    MySQL 庫的操作案例之從創(chuàng)建配置到備份恢復(fù)

    主要介紹MySQL庫創(chuàng)建、字符集配置、查改刪備及監(jiān)控,附實戰(zhàn)案例與避坑要點,覆蓋核心操作,本文就從實戰(zhàn)角度出發(fā),把MySQL庫操作的核心知識點講透,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • mysql5.5與mysq 5.6中禁用innodb引擎的方法

    mysql5.5與mysq 5.6中禁用innodb引擎的方法

    這篇文章主要介紹了mysql5.5中禁用innodb引擎的方法,需要的朋友可以參考下
    2014-04-04
  • 基于mysql數(shù)據(jù)庫的密碼問題詳解

    基于mysql數(shù)據(jù)庫的密碼問題詳解

    本篇文章是對mysql數(shù)據(jù)庫的密碼問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL 查詢速度慢的原因

    MySQL 查詢速度慢的原因

    高性能MySQL需要合理的設(shè)計查詢。如果查詢寫的很糟糕,即使表結(jié)構(gòu)再合理、索引再合適,也是無法實現(xiàn)高性能的。
    2021-05-05
  • MYSQL連接不上本地服務(wù)器localhost的問題及解決

    MYSQL連接不上本地服務(wù)器localhost的問題及解決

    通過打開DOS窗口輸入mysql連接命令時報錯,發(fā)現(xiàn)本地MySQL服務(wù)未啟動,按照步驟在services.msc中找到并啟動MySQL服務(wù),選擇“自動”啟動類型,依次點擊“啟動”、“應(yīng)用”、“確定”,問題解決
    2026-03-03
  • mysql-connector-java.jar包的下載實踐

    mysql-connector-java.jar包的下載實踐

    本文詳細(xì)介紹了如何從MySQL官方網(wǎng)站下載mysql-connector-java.jar包的步驟,包括訪問官網(wǎng)、選擇下載選項、選擇Connector/J、下載PlatformIndependent版本、進(jìn)行下載等
    2026-01-01
  • 圖文詳解MySQL中的主鍵與事務(wù)

    圖文詳解MySQL中的主鍵與事務(wù)

    這篇文章主要給大家介紹了關(guān)于MySQL中主鍵與事務(wù)的相關(guān)資料,主鍵與事務(wù)是我們使用mysql中經(jīng)常遇到的,文中通過圖文以及實例代碼介紹的很詳細(xì),需要的朋友可以參考下
    2021-05-05
  • 在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法

    在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法

    這篇文章主要介紹了在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法,適用于Debian系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • Mysql樹形結(jié)構(gòu)的數(shù)據(jù)庫表設(shè)計方案

    Mysql樹形結(jié)構(gòu)的數(shù)據(jù)庫表設(shè)計方案

    樹形結(jié)構(gòu)對大家來說應(yīng)該都不陌生,在日常開發(fā)中經(jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于Mysql樹形結(jié)構(gòu)的數(shù)據(jù)庫表設(shè)計的相關(guān)資料,文中通過示例代碼的非常詳細(xì),需要的朋友可以參考下
    2021-09-09

最新評論

溆浦县| 肥乡县| 专栏| 宜城市| 白沙| 安义县| 梅河口市| 正镶白旗| 贡嘎县| 商南县| 济阳县| 文昌市| 安徽省| 延寿县| 平陆县| 马关县| 乐山市| 南京市| 图木舒克市| 抚远县| 泽普县| 将乐县| 台南县| 新沂市| 志丹县| 保康县| 临猗县| 常宁市| 红桥区| 蓬莱市| 环江| 青阳县| 鸡西市| 芦溪县| 三亚市| 静安区| 旌德县| 宁波市| 巴彦县| 宜州市| 兴宁市|