使用MySQL設(shè)置遠(yuǎn)程數(shù)據(jù)庫(kù)以優(yōu)化網(wǎng)站性能的操作步驟
介紹
隨著您的應(yīng)用程序或網(wǎng)站的增長(zhǎng),您可能會(huì)發(fā)現(xiàn)已經(jīng)超出了當(dāng)前的設(shè)置。如果您目前將 Web 服務(wù)器和數(shù)據(jù)庫(kù)后端托管在同一臺(tái) VPS 上,一個(gè)好主意是將這兩個(gè)功能分開(kāi),以便每個(gè)功能可以在自己的機(jī)器上運(yùn)行和增長(zhǎng)。
在本指南中,我們將討論如何配置一個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器,以便您的 Web 服務(wù)器可以連接到動(dòng)態(tài)內(nèi)容。我們將以 WordPress 作為示例,這樣我們就有了一些可以操作的內(nèi)容。我們將在我們的演示中使用 Ubuntu 12.04 VPS 實(shí)例,配置 Nginx 在我們的 Web 服務(wù)器上,然后將其連接到遠(yuǎn)程機(jī)器上的 MySQL 數(shù)據(jù)庫(kù)。
在數(shù)據(jù)庫(kù)服務(wù)器上安裝 MySQL
首先,我們將配置一個(gè) VPS 實(shí)例作為 MySQL 服務(wù)器。將我們的數(shù)據(jù)存儲(chǔ)在一個(gè)單獨(dú)的計(jì)算機(jī)上是一個(gè)很好的方式,當(dāng)您在單機(jī)配置上達(dá)到極限時(shí),可以優(yōu)雅地?cái)U(kuò)展。它還提供了在以后更多地?cái)U(kuò)展和負(fù)載平衡您的設(shè)置所需的基本結(jié)構(gòu)。
首先,我們需要在我們的數(shù)據(jù)庫(kù)服務(wù)器上安裝一些基本軟件包。這些基本上是為傳統(tǒng)的 LEMP 堆棧設(shè)置數(shù)據(jù)庫(kù)所需的大部分相同的步驟,但我們不需要所有的組件(一些將在其他服務(wù)器上)。
首先更新軟件包緩存并安裝 MySQL 服務(wù)器:
sudo apt-get update sudo apt-get install mysql-server
在安裝過(guò)程中,您將被要求選擇并確認(rèn) MySQL 的 root 密碼。
安裝完成后,您需要運(yùn)行數(shù)據(jù)庫(kù)安裝命令,這將生成適當(dāng)?shù)哪夸浗Y(jié)構(gòu)來(lái)管理您的組件:
sudo mysql_install_db
之后,我們應(yīng)該通過(guò)運(yùn)行一個(gè)腳本來(lái)加強(qiáng)一些安全性,該腳本將詢問(wèn)我們是否禁用一些不安全的默認(rèn)設(shè)置
sudo mysql_secure_installation
您將需要輸入您在上述步驟中設(shè)置的 MySQL 管理員密碼。之后,它會(huì)詢問(wèn)您是否要更改該密碼。如果您對(duì)當(dāng)前的密碼感到滿意,請(qǐng)輸入“N”表示不更改。
對(duì)于所有其他問(wèn)題,您應(yīng)該只需按 ENTER 鍵選擇默認(rèn)選項(xiàng),這將刪除一些測(cè)試數(shù)據(jù)庫(kù)并鎖定訪問(wèn)權(quán)限。
配置 MySQL 允許遠(yuǎn)程訪問(wèn)
現(xiàn)在您的數(shù)據(jù)庫(kù)已經(jīng)運(yùn)行起來(lái)了,我們需要更改一些值以允許其他計(jì)算機(jī)連接。
使用 root 權(quán)限在編輯器中打開(kāi) MySQL 的主配置文件:
sudo nano /etc/mysql/my.cnf
該文件被分成由方括號(hào)([ 和 ])中的單詞表示的部分。找到標(biāo)記為 mysqld
的部分:
[mysqld]
在這個(gè)部分(在這個(gè)標(biāo)記和下一個(gè)部分標(biāo)記之間的區(qū)域內(nèi)),您需要找到一個(gè)名為 bind-address 的參數(shù)。這基本上告訴數(shù)據(jù)庫(kù)軟件要監(jiān)聽(tīng)哪個(gè)網(wǎng)絡(luò)地址上的連接。
當(dāng)前,MySQL 配置為僅尋找來(lái)自自己計(jì)算機(jī)的連接。我們需要更改它以引用您的服務(wù)器可以訪問(wèn)的 外部 IP 地址。
如果您在具有私有網(wǎng)絡(luò)功能的數(shù)據(jù)中心托管此服務(wù),請(qǐng)使用您服務(wù)器的私有網(wǎng)絡(luò) IP。否則,您可以在此處使用公共 IP 地址:
bind-address = your_database_IP
完成后保存并關(guān)閉文件。
為了強(qiáng)制 MySQL 讀取我們剛剛實(shí)施的新更改,我們可以重新啟動(dòng)數(shù)據(jù)庫(kù):
sudo service mysql restart
設(shè)置遠(yuǎn)程 WordPress 憑據(jù)和數(shù)據(jù)庫(kù)
現(xiàn)在我們已經(jīng)配置了 MySQL 監(jiān)聽(tīng)外部地址,我們需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)并建立一個(gè)遠(yuǎn)程用戶。盡管 MySQL 本身現(xiàn)在正在監(jiān)聽(tīng)其他機(jī)器可以連接的 IP 地址,但目前還沒(méi)有任何數(shù)據(jù)庫(kù)可以訪問(wèn)。
這也是一個(gè)機(jī)會(huì),讓我們根據(jù)用戶連接的位置建立不同的權(quán)限。我們可以創(chuàng)建兩個(gè)“用戶”,實(shí)際上可以是相同的用戶名,但與不同的主機(jī)相關(guān)聯(lián)。
我所說(shuō)的是,我們可以創(chuàng)建一個(gè)用戶,該用戶綁定到數(shù)據(jù)庫(kù)服務(wù)器本身,并授予它非常廣泛的權(quán)限。然后我們可以使用相同的用戶名,但與我們的 Web 服務(wù)器相關(guān)聯(lián),并且只給予它 WordPress 需要的最低權(quán)限。
這將允許我們?cè)诘卿浀轿覀兊臄?shù)據(jù)庫(kù)服務(wù)器時(shí)進(jìn)行重要工作,同時(shí)只為我們的 Web 服務(wù)器提供其完成工作所需的最低權(quán)限。這是一個(gè)良好的安全策略,可以在 Web 服務(wù)器受到損害的情況下部分保護(hù)數(shù)據(jù)庫(kù)服務(wù)器。
首先使用您配置的 root 帳戶和管理密碼連接到 MySQL:
mysql -u root -p
您將被要求輸入您的 MySQL root 密碼,然后將獲得一個(gè) MySQL 提示符。
讓我們開(kāi)始創(chuàng)建 WordPress 將使用的數(shù)據(jù)庫(kù)。我們將簡(jiǎn)單地稱之為 wordpress
,以便以后可以輕松識(shí)別它:
CREATE DATABASE wordpress;
現(xiàn)在我們有了一個(gè)數(shù)據(jù)庫(kù),我們需要?jiǎng)?chuàng)建我們的本地用戶,如果需要進(jìn)行更多的數(shù)據(jù)庫(kù)操作。我們將稱此用戶為 wordpressuser
,并且通過(guò)在聲明中使用 localhost
僅匹配從數(shù)據(jù)庫(kù)服務(wù)器本身發(fā)起的連接:
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
讓我們授予這個(gè)帳戶對(duì)我們的數(shù)據(jù)庫(kù)的完全訪問(wèn)權(quán)限:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
現(xiàn)在,這個(gè)用戶可以在 WordPress 的數(shù)據(jù)庫(kù)上執(zhí)行任何操作,但此帳戶不能遠(yuǎn)程使用,因?yàn)樗黄ヅ鋪?lái)自本地計(jì)算機(jī)的連接。
讓我們創(chuàng)建一個(gè)伴隨帳戶,它將僅匹配來(lái)自我們的 Web 服務(wù)器的連接。為此,您將需要您的 Web 服務(wù)器的 IP 地址。我們可以為此帳戶命名任何名稱,但為了更一致的體驗(yàn),我們將使用與上面完全相同的用戶名,只是修改了主機(jī)部分。
請(qǐng)記住,您必須使用與您在 my.cnf 文件中配置的相同網(wǎng)絡(luò)的 IP 地址。這意味著如果您使用私有網(wǎng)絡(luò) IP,您將希望創(chuàng)建以下規(guī)則以使用您的 Web 服務(wù)器的私有 IP。如果您配置 MySQL 使用公共互聯(lián)網(wǎng),您應(yīng)該使用 Web 服務(wù)器的公共 IP 地址。
CREATE USER 'wordpressuser'@'web_server_IP' IDENTIFIED BY 'password';
現(xiàn)在我們有了遠(yuǎn)程帳戶,我們可以為其提供 WordPress 在正常情況下操作所需的可用權(quán)限子集。這些是 select、delete、insert 和 update。
雖然這是最終目標(biāo),但實(shí)際上我們目前無(wú)法實(shí)施這一點(diǎn)。這是因?yàn)樵谀承┎僮髌陂g,您將不得不暫時(shí)調(diào)整權(quán)限以允許更多的訪問(wèn)。其中之一實(shí)際上是初始安裝。最簡(jiǎn)單的方法是在目前授予所有權(quán)限,然后在安裝完成后我們將限制它們。
供參考,我們將使用的命令來(lái)鎖定帳戶(不要擔(dān)心,當(dāng)您需要時(shí)我們將再次提供給您這個(gè)命令)是:
GRANT SELECT,DELETE,INSERT,UPDATE ON wordpress.* TO 'wordpressuser'@'web_server_ip';
但現(xiàn)在,我們將暫時(shí)授予所有權(quán)限,這使其在目前實(shí)際上與本地帳戶相同:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'web_server_ip';
完成后,刷新權(quán)限以將它們寫(xiě)入磁盤(pán)并開(kāi)始使用它們:
FLUSH PRIVILEGES;
現(xiàn)在,您可以通過(guò)鍵入以下命令退出 MySQL 提示符:
exit
測(cè)試遠(yuǎn)程和本地連接
在繼續(xù)之前,最好驗(yàn)證一下你是否可以使用 wordpressuser
賬戶從本地機(jī)器和 Web 服務(wù)器連接到數(shù)據(jù)庫(kù)。
首先,通過(guò)嘗試使用我們的新賬戶從數(shù)據(jù)庫(kù)服務(wù)器登錄來(lái)測(cè)試數(shù)據(jù)庫(kù)機(jī)器上的連接:
mysql -u wordpressuser -p
在提示時(shí)輸入設(shè)置的密碼。
如果你看到了 MySQL 提示符,那么本地連接就成功了。你可以通過(guò)輸入以下命令退出:
exit
登錄到你的 Web 服務(wù)器上測(cè)試遠(yuǎn)程連接。
在你的 Web 服務(wù)器上,你需要安裝一些 MySQL 客戶端工具以便訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)。更新本地軟件包緩存,然后安裝客戶端工具:
sudo apt-get update sudo apt-get install mysql-client
現(xiàn)在,我們可以使用以下語(yǔ)法連接到我們的數(shù)據(jù)庫(kù)服務(wù)器:
mysql -u wordpressuser -h database_server_IP -p
再次確保你使用的是數(shù)據(jù)庫(kù)服務(wù)器的正確 IP 地址。如果你配置了 MySQL 監(jiān)聽(tīng)私有網(wǎng)絡(luò),請(qǐng)輸入數(shù)據(jù)庫(kù)的私有網(wǎng)絡(luò) IP,否則輸入數(shù)據(jù)庫(kù)服務(wù)器的公共 IP 地址。
你應(yīng)該被要求輸入 wordpressuser 賬戶的密碼,如果一切順利,你應(yīng)該看到一個(gè) MySQL 提示符。
如果這一步成功,那么你可以退出提示符,因?yàn)槟阋呀?jīng)驗(yàn)證了你可以遠(yuǎn)程連接。
作為額外的檢查,你可以嘗試從第三臺(tái)服務(wù)器上做同樣的事情,以確保其他服務(wù)器沒(méi)有被授予訪問(wèn)權(quán)限。你已經(jīng)驗(yàn)證了本地訪問(wèn)和來(lái)自 Web 服務(wù)器的訪問(wèn),但你還沒(méi)有驗(yàn)證其他連接會(huì)被拒絕。
嘗試在你沒(méi)有為其配置特定用戶賬戶的服務(wù)器上執(zhí)行同樣的步驟。你可能需要像上面那樣安裝客戶端工具:
mysql -u wordpressuser -h database_server_IP -p
這應(yīng)該不會(huì)成功。它應(yīng)該返回一個(gè)類似于以下的錯(cuò)誤:
ERROR 1130 (HY000): Host '11.111.111.111' is not allowed to connect to this MySQL server
這是我們期望的結(jié)果,也是我們想要的。
設(shè)置 Web 服務(wù)器
現(xiàn)在我們已經(jīng)驗(yàn)證了我們的 Web 服務(wù)器可以訪問(wèn) WordPress 數(shù)據(jù)庫(kù),我們需要通過(guò)配置 Nginx、PHP 和必要的組件來(lái)將其真正變成一個(gè) Web 服務(wù)器。
由于你在上面運(yùn)行了測(cè)試之前更新了軟件包索引,我們不需要再次執(zhí)行這個(gè)步驟。讓我們安裝我們需要的所有軟件包:
sudo apt-get install nginx php5-fpm php5-mysql
當(dāng)所有軟件安裝完成后,你可以開(kāi)始配置軟件。
配置 PHP
讓我們從 PHP 開(kāi)始,因?yàn)檫@很簡(jiǎn)單。
打開(kāi) php-fpm
的 PHP 配置文件,它將處理我們的動(dòng)態(tài)內(nèi)容。我們只需要修改這個(gè)文件中的一個(gè)值:
sudo nano /etc/php5/fpm/php.ini
搜索 cgi.fix_pathinfo
參數(shù)。它可能會(huì)被注釋掉,并設(shè)置為 “1”。我們需要取消注釋并將其設(shè)置為 “0”:
cgi.fix_pathinfo=0
這是一個(gè)安全措施。通過(guò)設(shè)置這個(gè)選項(xiàng),我們告訴 PHP 如果找不到精確匹配的文件,不要嘗試猜測(cè)用戶試圖訪問(wèn)的文件。如果我們不設(shè)置這個(gè),惡意用戶可以利用這個(gè)機(jī)會(huì)讓我們的服務(wù)器執(zhí)行我們不希望執(zhí)行的代碼。
完成后保存并關(guān)閉文件。
接下來(lái),我們需要打開(kāi)另一個(gè)文件來(lái)修改我們的 PHP 處理器和 Web 服務(wù)器之間的通信方式:
sudo nano /etc/php5/fpm/pool.d/www.conf
查找 listen
指令,它應(yīng)該設(shè)置為 127.0.0.1:9000
。我們將使用一個(gè) Unix 域套接字而不是端口:
listen = /var/run/php5-fpm.sock
完成后保存并關(guān)閉文件。
現(xiàn)在我們有了我們的值,重新啟動(dòng)我們的 PHP 處理器:
sudo service php5-fpm restart
配置 Nginx
現(xiàn)在我們準(zhǔn)備配置 Nginx。我們可以通過(guò)將默認(rèn)虛擬主機(jī)文件復(fù)制到一個(gè)新文件來(lái)開(kāi)始工作。我們將根據(jù)我們網(wǎng)站的域名命名這個(gè)文件。我將使用占位符 “example.com”:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
在文件中,我們將修改我們的服務(wù)器塊(包含在 server
大括號(hào)內(nèi)的部分)。首先取消注釋監(jiān)聽(tīng)端口 80 的指令。我們還將更改根目錄,并默認(rèn)使用 Nginx 提供 PHP 索引文件:
server { listen 80; root /var/www/example.com; index index.php index.hmtl index.htm;
接下來(lái),我們將修改 server_name
指令以使用我們的域名,確保我們的 try_files
被正確設(shè)置(如果找不到文件,則將請(qǐng)求傳遞給 PHP),并且我們的錯(cuò)誤頁(yè)面被配置:
server { listen 80; root /var/www/example.com; index index.php index.hmtl index.htm; server_name example.com; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; }
最后,我們需要通過(guò)使用一個(gè)位置塊來(lái)設(shè)置實(shí)際的 PHP 處理,該位置塊將匹配我們所有的 PHP 請(qǐng)求。如果找不到精確匹配,我們將立即返回 404。我們還將使用我們?yōu)?PHP 配置的套接字:
server { listen 80; root /var/www/example.com; index index.php index.hmtl index.htm; server_name example.com; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }
這是我們服務(wù)器塊配置的結(jié)尾。保存并關(guān)閉文件。
現(xiàn)在,我們將這個(gè)文件鏈接到我們的 “enabled” 目錄,并刪除默認(rèn)服務(wù)器塊文件的鏈接:
sudo rm /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
安裝 WordPress
現(xiàn)在我們已經(jīng)設(shè)置好了帶有 PHP 處理的 Web 服務(wù)器,并且有了數(shù)據(jù)庫(kù)服務(wù)器,我們需要安裝一個(gè)應(yīng)用程序來(lái)利用這一點(diǎn)并連接到我們的數(shù)據(jù)庫(kù)。正如你現(xiàn)在所知,我們將在本教程中使用 WordPress 來(lái)演示這個(gè)功能。
首先,將最新的 WordPress 壓縮包下載到你的主目錄:
cd ~ wget http://wordpress.org/latest.tar.gz
解壓文件,這將在你的主目錄中創(chuàng)建一個(gè)名為 “wordpress” 的目錄:
tar xzvf latest.tar.gz
WordPress 包含一個(gè)示例配置文件,但默認(rèn)情況下不會(huì)被使用。我們將重命名此文件,以便它能夠被正確讀取,然后我們可以在文本編輯器中打開(kāi)它進(jìn)行修改:
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php nano ~/wordpress/wp-config.php
在其中,我們需要輸入我們遠(yuǎn)程數(shù)據(jù)庫(kù)的正確值。記得使用你在之前遠(yuǎn)程數(shù)據(jù)庫(kù)測(cè)試中使用的相同 IP 地址。
/** WordPress 數(shù)據(jù)庫(kù)的名稱 */ define('DB_NAME', 'wordpress'); /** MySQL 數(shù)據(jù)庫(kù)用戶名 */ define('DB_USER', 'wordpressuser'); /** MySQL 數(shù)據(jù)庫(kù)密碼 */ define('DB_PASSWORD', 'password'); /** MySQL 主機(jī)名 */ define('DB_HOST', 'database_server_ip');
完成后關(guān)閉文件。實(shí)際上,這是整個(gè)配置中唯一明確將我們的 Web 服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器連接起來(lái)的部分。
接下來(lái),我們需要?jiǎng)?chuàng)建我們?cè)?Nginx 服務(wù)器塊配置中設(shè)置的目錄結(jié)構(gòu)。如果你還記得,我在演示中使用的是 “example.com”,但你應(yīng)該使用你在 Nginx 配置中指定的任何內(nèi)容:
sudo mkdir -p /var/www/example.com
然后,我們將復(fù)制在我們的 ~/wordpress
目錄中找到的文件和目錄到我們剛剛創(chuàng)建的新文檔根目錄:
sudo cp -r ~/wordpress/* /var/www/example.com
現(xiàn)在所有的文件都已經(jīng)就位。唯一剩下的事情就是稍微修改我們的權(quán)限和文件所有權(quán)。我們應(yīng)該首先進(jìn)入服務(wù)器的文檔根目錄:
cd /var/www/example.com
我們將把這個(gè)目錄中的所有文件交給我們的 Web 服務(wù)器用戶,即 www-data:
sudo chown -R www-data:www-data *
然而,我們?nèi)匀幌M軌蛞晕覀兊钠胀ǚ?root 用戶身份編輯這些文件,因此我們可以將我們的常規(guī)非 root 帳戶添加到 Web 服務(wù)器組。然后,我們可以給該組權(quán)限在這個(gè)目錄中修改文件:
sudo usermod -a -G www-data your_user sudo chmod -R g+rw /var/www/example.com
通過(guò) Web 界面設(shè)置網(wǎng)站
現(xiàn)在,你只需要通過(guò) Web 界面完成安裝。
訪問(wèn)與你的 Web 服務(wù)器關(guān)聯(lián)的域名(或公共 IP 地址):
http://example.com
你應(yīng)該看到 WordPress 安裝屏幕,在這里你需要填寫(xiě)相關(guān)信息:
!WordPress 管理設(shè)置
完成配置后,你需要使用剛剛創(chuàng)建的帳戶登錄到應(yīng)用程序中:
!WordPress 管理登錄
你將被帶到管理儀表板,從這里你可以開(kāi)始配置你的網(wǎng)站:
!WordPress 管理儀表板
限制遠(yuǎn)程數(shù)據(jù)庫(kù)權(quán)限
當(dāng)你完成配置 WordPress 后,你應(yīng)該返回并撤銷一些遠(yuǎn)程數(shù)據(jù)庫(kù)用戶的權(quán)限。
大多數(shù)數(shù)據(jù)庫(kù)權(quán)限在日常操作中都是不需要的,只有在更新或插件安裝時(shí)才需要啟用。記住這一點(diǎn),以防在執(zhí)行這些步驟后進(jìn)行管理操作時(shí)出現(xiàn)錯(cuò)誤。
某些插件可能還需要額外的權(quán)限。調(diào)查每個(gè)插件以查看它需要什么,并考慮選擇需要最少額外訪問(wèn)權(quán)限的插件。
登錄到你的數(shù)據(jù)庫(kù)服務(wù)器。然后,使用 MySQL root 帳戶登錄到 MySQL:
mysql -u root -p
輸入密碼以獲得訪問(wèn)權(quán)限。
你可以通過(guò)輸入以下命令查看遠(yuǎn)程用戶的當(dāng)前權(quán)限:
show grants for 'wordpressuser'@'web_server_IP';
+---------------------------------------------------------------------------------------------------------------------------+ | Grants for wordpressuser@xx.xxx.xxx.xxx | +---------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'wordpressuser'@'xx.xxx.xxx.xxx' IDENTIFIED BY PASSWORD '*5FD2B7524254B7F81B32873B1EA6D681503A5CA9' | | GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpressuser'@'xx.xxx.xxx.xxx' | +---------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
“usage” 權(quán)限實(shí)際上意味著沒(méi)有真正的權(quán)限,因此我們不必?fù)?dān)心。第二個(gè)權(quán)限行是我們最初設(shè)置的,允許在 wordpress
數(shù)據(jù)庫(kù)上擁有所有權(quán)限。
應(yīng)用比當(dāng)前權(quán)限更嚴(yán)格的新權(quán)限的過(guò)程實(shí)際上是兩個(gè)步驟。
首先,我們需要撤銷所有當(dāng)前權(quán)限。通過(guò)輸入以下命令來(lái)執(zhí)行此操作:
REVOKE ALL PRIVILEGES on wordpress.* FROM 'wordpressuser'@'web_server_IP';
如果現(xiàn)在我們?cè)俅握?qǐng)求當(dāng)前授權(quán),我們將看到第二行已經(jīng)消失:
show grants for 'wordpressuser'@'web_server_IP';
+---------------------------------------------------------------------------------------------------------------------------+ | Grants for wordpressuser@10.128.213.175 | +---------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'wordpressuser'@'xx.xxx.xxx.xxx' IDENTIFIED BY PASSWORD '*5FD2B7524254B7F81B32873B1EA6D681503A5CA9' | +---------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
現(xiàn)在,我們可以將我們希望重新添加到帳戶的權(quán)限。我們需要 UPDATE
、INSERT
、SELECT
和 DELETE
權(quán)限以進(jìn)行日常使用:
GRANT SELECT,DELETE,INSERT,UPDATE ON wordpress.* TO 'wordpressuser'@'web_server_ip';
如果我們?cè)俅螜z查,我們可以看到我們的細(xì)粒度權(quán)限現(xiàn)在已經(jīng)設(shè)置好了。
為了告訴 MySQL 重新讀取權(quán)限表以實(shí)施我們的更改,我們可以輸入:
FLUSH PRIVILEGES;
之后,再次退出 MySQL:
exit
結(jié)論
如果你一直在跟著做,現(xiàn)在你應(yīng)該已經(jīng)對(duì)如何讓遠(yuǎn)程數(shù)據(jù)庫(kù)與你的應(yīng)用程序通信有了很好的理解。雖然我們討論了一些特定于 WordPress 的步驟,但一般的思路,特別是與 MySQL 配置和用戶權(quán)限相關(guān)的部分,在大多數(shù)遠(yuǎn)程 MySQL 情況下都是適用的。
以上就是使用MySQL設(shè)置遠(yuǎn)程數(shù)據(jù)庫(kù)以優(yōu)化網(wǎng)站性能的操作步驟的詳細(xì)內(nèi)容,更多關(guān)于MySQL設(shè)置遠(yuǎn)程數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- MySQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)權(quán)限設(shè)置方式
- 解決mysql數(shù)據(jù)庫(kù)設(shè)置遠(yuǎn)程連接權(quán)限執(zhí)行g(shù)rant all privileges on *.* to 'root'@'%' identified by '密碼' with grant optio報(bào)錯(cuò)
- 如何設(shè)置才能遠(yuǎn)程登錄Mysql數(shù)據(jù)庫(kù)
- mysql設(shè)置遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)的多種方法
- MySQL數(shù)據(jù)庫(kù)設(shè)置遠(yuǎn)程訪問(wèn)權(quán)限方法小結(jié)
相關(guān)文章
MySQL日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)大全
Mysql作為一款開(kāi)元的免費(fèi)關(guān)系型數(shù)據(jù)庫(kù),用戶基礎(chǔ)非常龐大,本文列出了MYSQL常用日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)2018-03-03MySQL中隔離級(jí)別RC與RR的區(qū)別及說(shuō)明
這篇文章主要介紹了MySQL中隔離級(jí)別RC與RR的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08MySQL server has gone away 問(wèn)題的解決方法
MySQL server has gone away 問(wèn)題解決方法,需要的朋友可以參考下。2010-06-06在Centos7環(huán)境安裝MySQL超詳細(xì)教程
MySQL是一種開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),它是目前最流行和廣泛使用的數(shù)據(jù)庫(kù)之一,這篇文章主要給大家介紹了關(guān)于在Centos7環(huán)境安裝MySQL的相關(guān)資料,需要的朋友可以參考下2023-11-11MySQL 給用戶添加 ALTER VIEW 的權(quán)限的步驟
在 MySQL 中,用戶權(quán)限的管理是非常重要的,以確保數(shù)據(jù)庫(kù)安全性和數(shù)據(jù)完整性,這篇文章主要介紹了MySQL 給用戶添加 ALTER VIEW 的權(quán)限,需要的朋友可以參考下2024-05-05MySQL如何實(shí)現(xiàn)快速插入大量測(cè)試數(shù)據(jù)
這篇文章主要介紹了MySQL如何實(shí)現(xiàn)快速插入大量測(cè)試數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11php 不能連接數(shù)據(jù)庫(kù) php error Can''t connect to local MySQL server
php 不能連接數(shù)據(jù)庫(kù) php error Can't connect to local MySQL server through socket '/tmp/mysql.sock'2011-05-05