2019-06-12 数据库迁移、负载均衡基础

为何迁移数据库?

随着web服务器的工作量愈来愈大,数据也就越来越多。而web服务器的存储容量以及内存有限。将数据库迁移到单独的服务器可以减轻web服务器的压力,提升网站工作的效率。

https://www.processon.com/view/link/5d004e07e4b0cbb88a599f6a

第一个里程碑

  • 1.将web服务器的数据压缩导出到root用户家目录下
[root@web02 ~]# mysqldump -uroot -p -A|gzip >/root/all.sql.gz
Enter password: 
  • 2.检查压缩文件内容
[root@web02 ~]# zcat all.sql.gz 
  • 3.将压缩文件推送到db01服务器root用户家目录下
[root@web02 ~]# rsync -az all.sql.gz 10.0.0.51:/root/
  • 4.在db01服务安装mariadb并启动数据库
[root@db01 ~]# yum install mariadb
[root@db01 ~]# systemctl restart mariadb.service 
[root@db01 ~]# systemctl enable mariadb.service 
  • 5.将压缩包内内容解压并导入数据库
[root@db01 ~]# gzip -d all-gzip.sql.gz
[root@db01 ~]# mysql < all-gzip.sql
  • 6.修改web服务器站点 配置文件
[root@web01 /usr/share/nginx/html/blog]# grep -n "DB_HOST" wp-config.php
32:define( 'DB_HOST', '172.16.1.51' );
  • 7.检查数据库、user和host字段
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wordpress          |
| www                |
+--------------------+

MariaDB [(none)]> select user,host from mysql.user;
+-----------+------------+
| user      | host       |
+-----------+------------+
| root      | 127.0.0.1  |
| wordpress | 172.16.1.% |
| root      | ::1        |
| root      | localhost  |
| wordpress | localhost  |
| root      | web01      |
+-----------+------------+
6 rows in set (0.00 sec)

6 rows in set (0.01 sec)

  • 8.进行刷新(用户权限)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

  • 9.在web服务器远程连接进行测试
[root@web01 /usr/share/nginx/html/blog]# mysql -uwordpress -p123456 -h 172.16.1.51
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

  • 10.登陆网站页面进行测试


    image.png

第二个里程碑

web服务器(用户上传图片等)共享存储

  • 1.先在nfs共享服务器上创建nginx虚拟用户uid、gid都=2222,web服务器也要修改
[root@nfs-01 ~]# useradd  -u 2222 -s /sbin/nologin -M nginx
[root@nfs-01 ~]# id nginx 
uid=2222(nginx) gid=2222(nginx) groups=2222(nginx)
[root@nfs-01 ~]# cat /etc/passwd |grep nginx
nginx:x:2222:2222::/home/nginx:/sbin/nologin
[root@web01 ~]# usermod  -u 2222 nginx 
[root@web01 ~]# id nginx 
uid=2222(nginx) gid=2222(nginx) groups=2222(nginx)
  • 2.修改nfs共享服务器的配置文件

[root@nfs-01 ~]# cat /etc/exports
#share /upload
/upload    172.16.1.0/24(rw)
/nfs       172.16.1.0/24(rw,all_squash,anonuid=888,anongid=888)
/nfsbackup    172.16.1.0/24(rw)
#share for web
/webdata 172.16.1.0/24(rw,all_squash,anonuid=2222,anongid=2222)
  • 3.在nfs服务器上创建共享目录并修改权限
[root@nfs-01 ~]# ll -d /*/ |grep "nginx"
drwxr-xr-x    3 nginx     nginx        18 Jun 12 19:04 /webdata/
  • 4.让后在客户端web服务器进行挂载
[root@web02 /usr/share/nginx/html/www]# mount -t nfs 172.16.1.31:/webdata/ /usr/share/nginx/html/www
[root@web02 /usr/share/nginx/html/www]# df -h 
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              19G  1.9G   17G  10% /
devtmpfs              477M     0  477M   0% /dev
tmpfs                 488M     0  488M   0% /dev/shm
tmpfs                 488M  7.7M  480M   2% /run
tmpfs                 488M     0  488M   0% /sys/fs/cgroup
/dev/sda1             197M  102M   95M  52% /boot
tmpfs                  98M     0   98M   0% /run/user/0
172.16.1.31:/webdata   19G  1.7G   18G   9% /usr/share/nginx/html/www

挂载时先将www移走创建一个新的www目录,挂载好之后再将之前www目录的内容移动过来

  • 5.在网页新发表一个带图片的博客进行查看图片是否共享成功

负载均衡基础

负载均衡的作用:

让后端服务器,保持每台服务器工作量(负载)平均

如何实现负载均衡

负载均衡三个开源免费的软件

Nginx
Haproxy
Lvs

硬件设备

F5
A10
Redware

负载均衡和反向代理的区别

负载均衡

用户请求的转发

Lvs

反向代理

代替用户去找然后再发给用户

Nginx
Haproxy

你可能感兴趣的:(2019-06-12 数据库迁移、负载均衡基础)