nfs和mysql分开配置_24,数据库拆分和设置NFS共享存储

本文介绍了在LNMP架构中,由于单一数据库服务器无法承受大量访问导致的问题,提出了数据库拆分和使用NFS共享存储的解决方案。通过拆分数据库、创建新用户和授权、修改PHP配置文件,实现了数据库的迁移。同时,详细阐述了NFS服务器的配置,旨在确保web数据目录的一致性和便于备份,从而提升系统性能和用户体验。

1,为什么要进行数据库的拆分

在LNMP架构中,动态数据的读取都要通过PHP去调取数据库数据,这样一个过程如果实在访问数量庞大的情况下一台数据库是难以承担的,必然导致内存溢满,读取不过来而导致web宕机,因此一般架构中Nginx和PHP是部署在一起的。数据库作为后端,它的数据处理速度就代表了整个web架构的效率,所以数据库单独部署且不止一台数据库服务器

2,数据库拆分后解决了什么问题

1)提高了数据库处理数据速度

2)缓解Web压力

3)提高用户访问速度

3,数据库拆分后架构变化

d4f8f06229af3afe20d908b928bbdf17.png

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

cfedee012f1de8646ddf75327b5996fc.png

然后还能访问表示迁移成功!

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架构

d8d6ab57a1761a6212c884a9ac1162fb.png

8ac9dacf3880803f882588f9771efdd8.png

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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值