欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

如何允許遠程訪問 MySQL

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

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

常見的解決方案

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

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

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

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

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

導航到以指令開頭的行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
. . .

默認情況下,該值設置為127.0.0.1,這意味著服務器將僅查找本地連接。

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

可以將此指令設置為通配符 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 中,默認情況下該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

更改此行后,保存并關閉文件。

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

sudo systemctl restart mysql

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

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

sudo mysql

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

mysql -u root -p

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

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

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

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

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

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

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

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

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

然后根據(jù)特定需求授予新用戶適當?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

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

如果只計劃從一臺特定計算機訪問數(shù)據(jù)庫服務器,則可以使用以下命令授予該計算機遠程連接數(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

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

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

mysql -u user -h database_server_ip -p

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

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

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

總結(jié)

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

相關文章

  • mysql 將字段time按天/月/年分組

    mysql 將字段time按天/月/年分組

    表中有一個字段time,格式為Unix時間戳,現(xiàn)需要按照該字段統(tǒng)計每天的記錄數(shù)并按天/月/年分組
    2014-07-07
  • MySQL啟動1053錯誤解決方法

    MySQL啟動1053錯誤解決方法

    創(chuàng)建mysql服務時,系統(tǒng)已提示創(chuàng)建服務成功,但是net start命令提示啟動失敗,并在services.msc中提示1053錯誤
    2012-11-11
  • 一文帶你了解MySQL字符集和比較規(guī)則

    一文帶你了解MySQL字符集和比較規(guī)則

    前段時間往MySQL中存入emoji表情或生僻字、繁體字時,報錯無法添加,研究后發(fā)現(xiàn)這是字符集編碼的問題,下面這篇文章主要給大家介紹了關于MySQL字符集和比較規(guī)則的相關資料,需要的朋友可以參考下
    2022-12-12
  • windows下忘記MySQL密碼的修改方法

    windows下忘記MySQL密碼的修改方法

    這篇文章主要介紹了windows下忘記MySQL密碼的修改方法,需要的朋友可以參考下
    2014-03-03
  • mysql 5.7.23 解壓版安裝教程圖文詳解

    mysql 5.7.23 解壓版安裝教程圖文詳解

    這篇文章主要介紹了mysql 5.7.23 解壓版安裝教程圖文詳解 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • 如何提高MySQL Limit查詢性能的方法詳解

    如何提高MySQL Limit查詢性能的方法詳解

    今天小編就為大家分享一篇關于如何提高MySQL Limit查詢性能的方法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MySQL gh-ost DDL 變更工具的實現(xiàn)

    MySQL gh-ost DDL 變更工具的實現(xiàn)

    本文主要介紹了MySQL gh-ost DDL變更工具的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • Linux下修改MySQL數(shù)據(jù)庫數(shù)據(jù)文件路徑的步驟

    Linux下修改MySQL數(shù)據(jù)庫數(shù)據(jù)文件路徑的步驟

    這篇文章主要介紹了Linux下修改MySQL數(shù)據(jù)庫數(shù)據(jù)文件路徑的步驟,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Mysql忘記密碼怎么重置密碼的幾種實現(xiàn)方法

    Mysql忘記密碼怎么重置密碼的幾種實現(xiàn)方法

    本文主要介紹了Mysql忘記密碼怎么重置密碼的幾種實現(xiàn)方法,每種方法都有其適用的情況,根據(jù)具體情況選擇合適的方法,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • mysql無法啟動服務及其他問題總結(jié)

    mysql無法啟動服務及其他問題總結(jié)

    MySQL無法啟動,可能有多種原因?qū)е?本文主要介紹了mysql無法啟動服務及其他問題總結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論