如何进行数据库拆分和设置NFS共享存储

这期内容当中小编将会给大家带来有关如何进行数据库拆分和设置NFS共享存储,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1,为什么要进行数据库的拆分
在LNMP架构中,动态数据的读取都要通过PHP去调取数据库数据,这样一个过程如果实在访问数量庞大的情况下一台数据库是难以承担的,必然导致内存溢满,读取不过来而导致web宕机,因此一般架构中Nginx和PHP是部署在一起的。数据库作为后端,它的数据处理速度就代表了整个web架构的效率,所以数据库单独部署且不止一台数据库服务器
2,数据库拆分后解决了什么问题
1)提高了数据库处理数据速度
2)缓解Web压力
3)提高用户访问速度
3,数据库拆分后架构变化
如何进行数据库拆分和设置NFS共享存储  nfs 第1张

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
如何进行数据库拆分和设置NFS共享存储  nfs 第2张
然后还能访问表示迁移成功!

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架构
如何进行数据库拆分和设置NFS共享存储  nfs 第3张
如何进行数据库拆分和设置NFS共享存储  nfs 第4张
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共享存储了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接