美文网首页linux tools
50-数据库迁移与建立NFS共享、负载均衡介绍

50-数据库迁移与建立NFS共享、负载均衡介绍

作者: 杨丶子 | 来源:发表于2019-06-13 15:47 被阅读38次
    image

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

    一、数据库迁移流程:

    准备机器
    web01 10.0.0.7
    db01 10.0.0.51
    nfs01 10.0.0.31

    1.web01:将数据打包迁移到数据库db01服务器上

    [root@web01 html]# mysqldump -uroot -p -A |gzip >/root/all.sql.gz   
    [root@web01 html]# ll /root/
    ^[[3~total 20396
    -rw-r--r-- 1 root   root        180073 Jun 10 11:22 all-gzip.sql.gz
    [root@web01 html]# sshpass -p123456 rsync -avz /root/all.sql.gz 172.16.1.51:/root/
    sending incremental file list
    all.sql.gz
    
    sent 315,345 bytes  received 35 bytes  210,253.33 bytes/sec
    total size is 315,081  speedup is 1.00  
    
    

    2.在db01上安装数据库环境

    yum install -y mariadb
    systemctl restart mariadb
    systemctl enable mariadb
    
    

    3.在db01上查看解压,然后倒入到数据库:

    [root@db01 ~]# ll
    total 308
    -rw-r--r-- 1 root root 315081 Jun 12 09:11 all.sql.gz
    [root@db01 ~]# gzip -d all.sql.gz 
    [root@db01 ~]# ll
    total 1248
    -rw-r--r-- 1 root root 1277294 Jun 12 09:11 all.sql
    [root@db01 ~]# mysql
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    | wecenter           |
    | wordpress          |
    +--------------------+
    6 rows in set (0.00 sec)
    
    MariaDB [(none)]> select user,host from mysql.user;
    +-----------+------------+
    | user      | host       |
    +-----------+------------+
    | root      | 127.0.0.1  |
    | wecenter  | 172.16.1.% |
    | wordpress | 172.16.1.% |
    | root      | ::1        |
    | root      | localhost  |
    | wecenter  | localhost  |
    | wordpress | localhost  |
    | root      | web01      |
    +-----------+------------+
    8 rows in set (0.00 sec)
    
    

    4.将数据库刷新一下用远程登录测试是否成功

    [root@db01 ~]# mysql
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    db01登录测试:
    [root@db01 ~]# mysql -uwordpress -p123456 -h 172.16.1.51
    
    web01登录测试:
    [root@web01~]# mysql -uwordpress -p123456 -h 172.16.1.51
    
    

    5.在web01上修改站点目录的博客配置文件

    修改数据库地址为db01:
    [root@web01 html]# vim blog/wp-config.php 
    /** MySQL hostname */
    define( 'DB_HOST', '172.16.1.51' );
    
    ### 6.将web01的数据库服务关闭
    ```c
    systemctl stop mariadb
    systemctl disable mariadb
    
    

    7.浏览器上输入网址查看下是否有内容,是否跟之前的一样

    遇到的坑
    用无痕浏览器进入博客后不可以发布文章,不可以上传图片,用正常的浏览器就可以了。

    数据库的命令历史记录位置

    家目录下的隐藏文件

    [root@db01 ~]# ll ~/.mysql_history 
    
    

    二、NFS建立共享

    提前下载好rpcbind nfs-utils
    先开启rpcbind 再开启nfs

    1.写nfs配置文件重启nfs

    [root@nfs01 ~]# id nginx
    uid=887(nginx) gid=887(nginx) groups=887(nginx)
    [root@nfs01 ~]# vim /etc/exports
    #share for web01
    /webdata             172.16.1.0/24(rw,all_squash,anonuid=887,anong
    id=887)
    [root@nfs01 ~]# systemctl restart nfs
    [root@nfs01 ~]# showmount -e 172.16.1.31
    Export list for 172.16.1.31:
    /webdata   172.16.1.0/24
    
    

    2.web01客户端

    [root@web01 html]# usermod -u 887 nginx
    [root@web01 html]# id nginx
    uid=887(nginx) gid=887(nginx) groups=887(nginx)
    [root@web01 html]# showmount -e 172.16.1.31
    Export list for 172.16.1.31:
    /webdata   172.16.1.0/24
    [root@web01 html]# rpm -qa nfs-utils
    nfs-utils-1.3.0-0.61.el7.x86_64
    
    

    站点目录下的上传目录地址
    /usr/share/nginx/html/blog/wp-content/uploads/

    3.先备份之前的数据再挂载

    如果先挂载了,用户的数据就被nfs的共享同步掉了,可能会被覆盖掉
    要保证数据不丢

    [root@web01 html]# cp blog/wp-content/uploads /tmp/
    [root@web01 html]# ll /tmp/
    total 12
    drwxr-xr-x  3 nginx nginx   16 Jun 12 10:52 2019
    
    [root@web01 html]# mount -t nfs 172.16.1.31:/webdata /usr/share/nginx/html/blog/wp-content/uploads/
    [root@web01 html]# mv /tmp/upload/* /blog/wp-content/uploads/
    
    

    浏览器查看一下blog.oldboy.com

    数据库查看一下

    image

    添加设置缓冲区

    /etc/nginx/conf.d/02-blog.conf

    fastcgi_buffers 16 16k;
    
    
    image

    三、负载均衡

    image

    1.用途

    1.实现用户访问进行合理调度处理,最终分配给不同web节点
    2.实现用户访问压力分担,将网站压力分配给每一个节点
    让后端服务器 报错每台服务器工作平均负载
    
    

    2.实现

    硬件设备
        F5 A10 Redware
    开源软件
        Nginx Haproxy Lvs
    
    

    3.开源软件负载均衡的区别

    命名不同
        负载均衡:用户请求的转发(Lvs)
        反向代理:代替用户去找,在发给用户(类似中介)(Nginx、Haproxy)
    功能不同
        Lvs:工作在四层负载均衡
            传输层   tcp/udp
            最多进行端口转发
        Nginx、Haproxy:工作在4层和7层负载均衡
            传输层和应用层
            进行http协议 uri转发
    

    相关文章

      网友评论

        本文标题:50-数据库迁移与建立NFS共享、负载均衡介绍

        本文链接:https://www.haomeiwen.com/subject/wyysfctx.html