您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何進行數據庫拆分和設置NFS共享存儲,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1,為什么要進行數據庫的拆分
在LNMP架構中,動態數據的讀取都要通過PHP去調取數據庫數據,這樣一個過程如果實在訪問數量龐大的情況下一臺數據庫是難以承擔的,必然導致內存溢滿,讀取不過來而導致web宕機,因此一般架構中Nginx和PHP是部署在一起的。數據庫作為后端,它的數據處理速度就代表了整個web架構的效率,所以數據庫單獨部署且不止一臺數據庫服務器
2,數據庫拆分后解決了什么問題
1)提高了數據庫處理數據速度
2)緩解Web壓力
3)提高用戶訪問速度
3,數據庫拆分后架構變化
4,以第22章LNMP架構為例
1) web:10.0.0.8 Nging+PHP
2) db: 10.0.0.51 mysql
5,拆分
1)安裝數據庫服務器
yum install mariadb mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysqladmin password 'oldboy123'
2)把Web上的數據庫數據備份出來
mysqldump -uroot -p'oldboy123' -A --single-transaction > mysql-all.sql(將數據庫所有數據備份出來)
3)把數據SCP到新的數據庫服務器
scp mysql-all.sql 10.0.1.51:/tmp
4)在新數據庫服務器上將數據還原
mysql -uroot -p'oldboy123' < /tmp/mysql-all.sql
mysql -uroot -p'oldboy123' -e "show databases;"
5)創建用戶并授權
mysql -uroot -p'oldboy123'grant all privileges on *.* to 'yangjiwan'@'%' identified by 'oldboy123';
(這里創建一個普通用戶不用root用戶了權限太大,密碼是oldboy123,%表示允許所有ip連接也可以指定就Nginx+PHP服務器連接)
flush privileges;
exit
6)修改PHP與數據庫的配置文件將指定新的(用戶,密碼,ip)用來連通新的數據庫
vim /code/wordpress/wp-config.php
/** MySQL數據庫用戶名 */ define('DB_USER', 'yangjiwan'); /** MySQL數據庫密碼 */ define('DB_PASSWORD', 'oldboy123'); /** MySQL主機 */ define('DB_HOST', '10.0.0.51');
7)測試,將原來PHP與數據庫的通訊斷開,連接新的數據庫
systemctl stop mariadb.service
然后還能訪問表示遷移成功!
1,將Web數據目錄資源掛載到NFS共享存儲
1)為什么web數據目錄要掛載到NFS共享統一存儲,生產環境中用戶訪問通過Nginx分發后會訪問不同web服務器,當用戶上傳了數據后,如果你沒有統一的存放位置,單獨的存放在某臺web上,那下次用戶再訪問的時候Nginx把他的請求分發到別的web了,請問還能看到自己上傳的數據了嗎?
2)增加一臺NFS服務器的作用?
1,web數據目錄資源一致性
2,節省了web服務器上的存儲資源
3,方便后端CDN對資源的加速出來
4,實現后端Lsyncd對web數據統一備份
2,增加NFS服務器后的web架構
3,環境:
web7:nginx+php
web8:nginx+php
db51:mariadb
nfs31:nfs
4,搭建NFS服務器(已完成)
[root@nfs01 ~]# yum install nfs-utils -y [root@nfs01 ~]# cat /etc/exports /data/blog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666) /data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
[root@nfs01 ~]# mkdir /data/{blog,zh} -p [root@nfs01 ~]# chown -R www.www /data
5,web7服務器作為nfs客戶端
yum -y install nfs-utils
systemctl start rpcbind (客戶端只需啟動rpc)
6,在web服務器上將數據目錄掛載給NFS服務器
mount -t nfs 172.16.1.31:/data/blog /code/wordpress/wp-content/uploads/(web數據目錄)
mount -t nfs 172.16.1.31:/data/zh /code/zh/wp-content/uploads/
7,開機自動掛載
[root@web01 ~]# tail -1 /etc/fstab 172.16.1.31:/data/blog /code/wordpress/wp-content/uploads nfs defaults 0 0
8,web8服務器作為nfs客戶端
操作如上web7:
上述就是小編為大家分享的如何進行數據庫拆分和設置NFS共享存儲了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。