美文网首页数据库
mysql备份与恢复

mysql备份与恢复

作者: SkTj | 来源:发表于2018-12-15 13:30 被阅读184次

    导出所有数据库

    mysqldump -q --single-transaction -A >all.sql

    导出某几个数据库

    mysqldump -q --single-transaction -B db1 db2 >a.sql

    导出某几张表

    mysqldump -q --single-transaction -B db1.a db2.c >a.sql

    导出表结构

    mysqldump -q -d --skip-triggers

    导出存储过程

    mysqldum -q -Rtdn --skip-triggers

    导出触发器

    mysqldump -q -tdn --skip-triggers

    导出事件

    mysqldump -q -Etdn --skip-triggers

    导出数据

    mysqldump -q --single-transaction --skip-triggers -t

    建立新slave

    mysqldump -q --single-transaction --master-data=2 -A>all.sql

    恢复
    mysql -uroot -p1222 <all.sql


    mydumper 性能比mysqldump 性能快10倍
    安装


    image.png

    mydumper -uroot -pxxx -B db1 db2 -o a.sql
    myloader -uroot -pxx


    全量备份脚本:

    !/bin/bash

    mkdir /backup
    cd /backup
    datadir=date +"%Y-%m-%d"
    mkdir -p datadir/data path=/usr/local/mysql/data for i in `mysql -uroot -p123456 -e "show databases"|grep -v "Database"` do mysqldump -uroot -p123456 --default-character-set=utf8 \ -q --lock-all-tables --flush-logs -E -R --trigger -Bi|gzip>/backup/datadir/data/i_datadir.sql.gz done binlog_rm=`tail -n 1 %path/mysql-bin.index|sed 's/.\///'` mysql -uroot -p123456 -e "purge binary logs tobinlog_rm"

    凌晨1点


    增量备份

    !/bin/bash

    cd /backup
    datadir=date +"%Y-%m-%d"
    mkdir -p datadir/data path=/usr/local/mysql/data mysqladmin -uroot -p123456 flush-logs binlog_cp=`head -n -1path/mysql-bin.index|sed 's/.///'for i in $binlog_cp do mysql -uroot -p123456 -e "\cp -p $path/$i /backup/$datadir/data/;" done binlog_rm=tail -n 1 path/mysql-bin.index|sed 's/.\///'` mysql -uroot -p123456 -e "purge binary logs to 'binlog_rm'"


    热备份工具:xtrabackup
    安装


    全量 备份所有

    innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf /bak/

    备份数据库

    innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --databases=/bak/

    恢复

    1、mysqld stop
    2、删除数据文件和事务日志文件
    3、innobackupex --defaults-file=/etc/my.cnf --apply-log /bak/2013xxxxx
    4、innobackupex --defaults-file=/etc/my.cnf --copy-back /bak/2013xxxx
    5、chown -R mysql.mysql /usr/local/mysql/data
    6、mysqld start


    相关文章

      网友评论

        本文标题:mysql备份与恢复

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