zoukankan      html  css  js  c++  java
  • 高速备份还原MYSQL数据库

    #安装依赖包
    yum -y update gcc
    yum -y install gcc+ gcc-c++

    #安装
    cd /usr/local/software
    tar -jxvf p7zip_16.02_src_all.tar.bz2
    cd p7zip_16.02
    make && make install
    ============================================================================

    #安装innobackupex
    yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
    rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
    yum install numactl libaio rsync -y

    rpm -ivh percona-xtrabackup-24-2.4.8-1.el6.x86_64.rpm

    #备份一下
    innobackupex --user=root --password=** --databases="dsideal_db mysql" /usr/local/software


    开始时间:13:16:37
    结束时间:13:27:50

    #压缩一下

    cd /usr/local/software


    #压缩(不带全称路径)
    7za a -t7z 2017-08-09_13-16-30.7z  2017-08-09_13-16-30/

    innobackupex通过backup-my.cnf(这个文件存在于上面的备份目录下)来获取DATADIR目录的相关信息。

    #还原一下
    cd /usr/local/software

    #解压缩
    7za x 2017-08-09_13-16-30.7z


    cd /usr/local/db/mysql/data && rm -rf *

    vi /etc/my.cnf  # 加入 datadir 配置项

    datadir=/usr/local/db/mysql/data

    应用一下日志

    innobackupex --apply-log /usr/local/software/2017-08-09_13-16-30/

    innobackupex --defaults-file=/etc/my.cnf --copy-back /usr/local/software/2017-08-09_13-16-30/
    chown -R mysql:mysql ./*

    chmod -R 777 data


    service mysql restart

    链接: http://pan.baidu.com/s/1bozIo15 密码: uhfv


    #自动备份
    http://www.cnblogs.com/jiangwenju/p/4919633.html

    http://navyaijm.blog.51cto.com/4647068/1422229
    ===========================================================================================================================================
    SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=Aria;') FROM information_schema.tables WHERE table_schema='dsideal_db' AND ENGINE='InnoDB';

    SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=Aria;') FROM information_schema.tables WHERE table_schema='dsideal_db' AND ENGINE='InnoDB' and table_name not like '%_sphinx%' and table_name not like '% %';

    如果提示错误:

     Specified key was too long; max key length is 1000 bytes

    解决思路:
    1.DB engine 是MyIsAm
    2.字符集是 utf8 ,1个utf8=3bytes
    3.最后就是 (100+255)*3>1000 所以报错
    解决方案很多 ,修改DB engine 至 innodb,或者是更改字符集,或者是减小字段长度 皆可.:)

    初始化数据库,重新还原

    cd /usr/local/db/mysql/
    rm -rf data

    #注释掉
    vi /etc/my.cnf
    #innodb_force_recovery = 4

    cd /usr/local/mysql scripts/mysql_install_db --user=mysql --datadir=/usr/local/db/mysql/data
    chmod -R 777 /usr/local/db

    service mysql start
    mysqladmin
    -u root password 'D**********'

    GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "DsideaL147258369"; flush privileges;
  • 相关阅读:
    分布式页面静态化
    采用rabbitMq消息推送方案
    rabbitmq的使用介绍和注意事项目
    redis面试题
    Redis 使用入门
    git使用介绍
    JavaSE11(1)采用类
    原型模式
    javaSE 10(2)
    javaSE 10
  • 原文地址:https://www.cnblogs.com/littlehb/p/7326803.html
Copyright © 2011-2022 走看看