zoukankan      html  css  js  c++  java
  • mysqldump、xtrabackup、备份、恢复、nginx、root和alias的区别、域名、

    数据库

    备份

    mysqldump

    • 锁表

    • 备份特别慢,适用于数据量较小

    • 不可以做增量备份

    • 单线程

      -A, --all-databases 所有的库
      -B 指定备份的库
      —F 备份前刷新日志
      --flush-privileges 刷新授权表
      -p 密码
      -u 用户
      -P 端口
      触发器
      存储过程和存储函数
      ## 备份
      mysqldump -uroot -S /mydata/mysql/mysql.sock -A -p > mysql.sql
      ## 恢复一
      直接在数据库里面source mysql.sql文件
      ## 恢复二
      mysql -uroot -p < mysql.sql

    xtrabackup

    • 多进程

    • 支持增量备份

    • 锁行

     安装
     yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm # 安装yum仓库
     yum install -y percona-xtrabackup-24
     --target-dir=name # 指定备份生成的目录
     --backup 备份
     --prepare 准备
     --databases=name   filtering by list of databases.
     --databases-file=name 配置文件

    创建一个用户

     mysql> create user 'backup'@'localhost' identified by 'backup';
     Query OK, 0 rows affected (0.00 sec)
     
     mysql> grant reload,lock tables,process,replication client on *.* to 'backup'@'localhost';
     Query OK, 0 rows affected (0.00 sec)
     
     mysql> flush privileges;
     Query OK, 0 rows affected (0.00 sec)
     

    备份

     xtrabackup --backup --target-dir=/mydata/backup/base -ubackup -pbackup --socket=/mydata/mysql/mysql.sock
     ### 看得如下信息,代表成功
     xtrabackup: Transaction log of lsn (5480853) to (5480862) was copied.
     190902 09:25:09 completed OK!

    恢复

    准备文件

     xtrabackup --prepare --target-dir=/mydata/backup/base
     InnoDB: Starting shutdown...
     InnoDB: Shutdown completed; log sequence number 5482536
     190902 09:28:12 completed OK!

    恢复文件

     cd /mydata/backup/base
     cp -rf hello /mydata/mysql/
     chown mysql.mysql /mydata/mysql/hello/ -R

    恢复全部文件

     xtrabackup --copy-back --target-dir=/mydata/backup/base
     chown mysql.mysql * -R

    增量备份

     xtrabackup --backup --target-dir=/mydata/backup/t1 --incremental-basedir=/mydata/backup/base -uroot -p --socket=/mydata/mysql/mysql.sock
     --incremental-dir 全备的路径
     xtrabackup --backup --target-dir=/mydata/backup/t2 --incremental-basedir=/mydata/backup/t1 -uroot -p --socket=/mydata/mysql/mysql.sock
     --incremental-basedir应该是上一次的增量备份目录
     xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base

    恢复(只能全部删除以后再恢复)

     xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base
     xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base --incremental-dir=/mydata/backup/t1
     xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base --incremental-dir=/mydata/backup/t2
     xtrabackup --copy-back --target-dir=/mydata/backup/base
     chown mysql.mysql * -R
     systemctl restart mysqld

    nginx

    web服务 apache iis

    django web框架

    lvs 负载均衡 章文嵩博士

    vue 尤雨溪

    Tengine

    F5 硬件负载

    A10

    安装

     wget http://nginx.org/download/nginx-1.16.1.tar.gz
     tar xf nginx-1.16.1.tar.gz
     cd nginx-1.16.1
     yum install gcc zlib2-devel pcre-devel openssl-devel
     指定安装路径并指定http和状态./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module
     yum install -y gcc
     yum install -y pcre
     yum install -y pcre-devel
     yum install -y openssl-devel
     make && make install
     make ; make install

    目录结构

     [root@localhost nginx]#ls
     conf html logs sbin
     conf 配置文件
     html 存放静态文件 index.html 是默认的欢迎页面
     logs 日志目录
     sbin 二进制文件
     启动以后会生成一个主进程,根据配置文件的选项来生成子进程(工作进程),主进程不负责处理用户的请求,用来转发用户的请求,真正负责处理用户请求的是子进程

    命令格式

     ./sbin/nginx -h
     nginx version: nginx/1.16.1
     Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
     
     Options:
       -?,-h         : this help
       -v           : show version and exit 显示版本号
       -V           : show version and configure options then exit 显示版本+编译时选项
       -t           : test configuration and exit 测试配置文件
       -T           : test configuration, dump it and exit
       -q           : suppress non-error messages during configuration testing
       -s signal     : send signal to a master process: stop, quit, reopen, reload
       -p prefix     : set prefix path (default: /opt/nginx/)
       -c filename   : set configuration file (default: conf/nginx.conf)
       -g directives : set global directives out of configuration file

    配置文件

     #user  nobody;    使用哪个用户来启动子进程
     worker_processes  1; #工作进程的个数,配置成cpu的核心数-1或者-2
     # cpu亲缘性绑定,让nginx的子进程工作在哪个核心上
     
     #error_log logs/error.log;
     #error_log logs/error.log notice;
     #error_log logs/error.log info;
     
     #pid       logs/nginx.pid;
     
     
     events {
         #use [epoll|select|poll];
        worker_connections  102400; # 每一个子进程可以处理的连接数
     }
     
     
     http {
        include       mime.types; #导入
        default_type application/octet-stream; # 默认的请求方式
         # 定义日志格式
         #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
         #                 '$status $body_bytes_sent "$http_referer" '
         #                 '"$http_user_agent" "$http_x_forwarded_for"';
         #定义日志并定义日志格式
         #access_log logs/access.log main;
     
        sendfile       on;
         #tcp_nopush     on;
     
         #keepalive_timeout 0;
        keepalive_timeout  65; # 保持长连接的超时时间
     
         #gzip on;
     
        server {
            listen       80; #监听端口
            server_name localhost;
     
             #charset koi8-r;
     
             #access_log logs/host.access.log main;
     
            location / {
                root   html;  # 指定静态文件地址
                index index.html index.htm; # 指定默认的index页面
            }
      # 错误页面 找不到页面
             #error_page 404             /404.html;
     
             # redirect server error pages to the static page /50x.html
             #
             # 错误页面 服务端错误
            error_page   500 502 503 504 /50x.html;
            location = /50x.html {
                root   html;
            }
     
             # proxy the PHP scripts to Apache listening on 127.0.0.1:80
             #
             #location ~ .php$ {
             #   proxy_pass   http://127.0.0.1;
             #}
     
             # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
             #
             #location ~ .php$ {
             #   root           html;
             #   fastcgi_pass   127.0.0.1:9000;
             #   fastcgi_index index.php;
             #   fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
             #   include       fastcgi_params;
             #}
     
             # deny access to .htaccess files, if Apache's document root
             # concurs with nginx's one
             #
             #location ~ /.ht {
             #   deny all;
             #}
        }
     
     
         # another virtual host using mix of IP-, name-, and port-based configuration
         #
         #server {
         #   listen       8000;
         #   listen       somename:8080;
         #   server_name somename alias another.alias;
     
         #   location / {
         #       root   html;
         #       index index.html index.htm;
         #   }
         #}
     
     
         # HTTPS server
         #
         #server {
         #   listen       443 ssl;
         #   server_name localhost;
     
         #   ssl_certificate     cert.pem;
         #   ssl_certificate_key cert.key;
     
         #   ssl_session_cache   shared:SSL:1m;
         #   ssl_session_timeout 5m;
     
         #   ssl_ciphers HIGH:!aNULL:!MD5;
         #   ssl_prefer_server_ciphers on;
     
         #   location / {
         #       root   html;
         #       index index.html index.htm;
         #   }
         #}
     
     }
     

    404页面

     error_page  404              /404.html;

    root和alias的区别

      location /img {
      root /data/img;
      }
     root /data/img 里面必须有/img
      location /img {
      alias /data/img;
      }
      alias /data/img 里面不需要有 /img

    域名

     server_name ms.s22.com

    多域名访问

       server  {
            listen 80;
            server_name www.taobao.com taobao.com;
            location / {
            root /data/taobao;
            index index.html;
            }
     
     }
        server {
            listen 80;
            server_name www.jd.com jd.com;
            location / {
            root /data/jd;
            index index.html;
            }
            }

    默认server

     listen 80 default_server;
  • 相关阅读:
    jqueryautocomplete
    了解CSS的查找匹配原理 让CSS更简洁、高效
    html5网页编码
    刚开始学习 mvc碰到的郁闷问题
    datatable 批量插入方法 求解?
    28个经过重新设计的著名博客案例(1120)
    递归调用中的return
    C++新建一个模板
    C++ 中用 sizeof 判断数组长度
    为什么MySQL选择REPEATABLE READ作为默认隔离级别?
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12409563.html
Copyright © 2011-2022 走看看