• 2.mysql--备份恢复


    完全备份:备份所有数据
    增量备份:备份上次备份后,所有新产生的数据
    差异备份:备份上次完全备份后,所有新产生的数据

    1、物理备份恢复

    [root@host1 ~]# cp -r /var/lib/mysql /root/mysql_all.bak
    [root@host1 ~]# scp -r /root/mysql_all.bak 192.168.0.100:/root
    [root@host1 ~]# systemctl stop mysqld
    [root@host1 ~]# rm -rf /var/lib/mysql
    [root@host1 ~]# cp -r /root/mysql_all.bak /var/lib/mysql/
    [root@host1 ~]# chown -R mysql:mysql /var/lib/mysql/
    [root@host1 ~]# systemctl start mysqld
    

    2、逻辑备份恢复

    (1). mysqldump 备份
    导出数据:
    1.导出结构不导出数据
    [root@host1 ~]# mysqldump --opt -d 数据库名 -u root -p > xxx.sql 
    2.导出数据不导出结构
    [root@host1 ~]# mysqldump -t 数据库名 -uroot -p > xxx.sql 
    3.导出数据和表结构
    [root@host1 ~]# mysqldump 数据库名 -uroot -p > xxx.sql 
    4.导出特定表的结构
    [root@host1 ~]# mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql  
    
    导入数据:
    由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:
    [root@host1 ~]# mysql 数据库名 < 文件名
    或
    mysql> source /tmp/xxx.sql  
    
    
    //备份所有库
    [root@host1 ~]# mysqldump -uroot -p --all-databases > all.sql
    //还原所有库
    [root@host1 ~]# mysql -u root -p < all.sql
    
    //备份wechat库
    [root@host1 ~]# mysqldump -u root -p wechat > /root/backup_wechat.dump
    //还原wechat库
    [root@host1 ~]# mysql -u root -p wechat < /root/backup_wechat.dump
    或
    mysql> source /root/backup_wechat.dump
    

    mysql用mysqldump导出数据库时提示“-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.”
    因为mysqldump默认是不备份事件表的,只有加了–events 才会解决加上–events --ignore-table=mysql.events参数即可:
    mysqldump -uroot -pxxxxx --events --ignore-table=mysql.events --all-databases > all.sql

    mysql5.6版本以上不支持命令行直接加密码导出,认证不安全后会直接中断命令,解决办法:(此操作无需重启mysql)

    vim /etc/my.cnf

    [mysqldump]
    user=***
    password=***

    (2). innobackupex 备份

    完全备份:

    [root@host1 ~]# innobackupex --user root --password 123456 /bakdir --no-timestamp
    

    完全恢复:1、准备恢复数据
    2、拷贝备份文件到数据库目录下
    3、修改文件所有者和组用户为 mysql
    4、启动数据库服务
    完全恢复:

    [root@host1 ~]# rm -rf /var/lib/mysql
    [root@host1 ~]# mkdir /var/lib/mysql
    [root@host1 ~]# innobackupex --user root --password 123456 --copy-back /bakdir
    [root@host1 ~]# chown -R mysql:mysql /var/lib/mysql
    [root@host1 ~]# systemctl start mysqld
    

    增量备份:

    //完全备份
     [root@host1 ~]# innobackupex --user root --password 123456 --databases=“库名列表” /fullback --no-timestamp
    //第1 次增量备份
     [root@host1 ~]# innobackupex --user root --password 123456 --databases=“库名列表” --incremental /new1 --incremental-basedir="/fullback" --no-timestamp1 次增量备份
     [root@host1 ~]# innobackupex --user root --password 123456 --databases=“库名列表” --incremental /new2 --incremental-basedir="/new1" --no-timestamp
    

    增量恢复:

    [root@host1 ~]# rm -rf /var/lib/mysql
    [root@host1 ~]# mkdir /var/lib/mysql
    //完整恢复
    [root@host1 ~]# innobackupex --user root --password 123456 --databases=“库名列表” --apply-log --redo-only /fullback
    //第 1 次增量恢复
    [root@host1 ~]# innobackupex --user root --password 123456 --databases=“库名列表” --apply-log --redo-only /fullback --incremental-dir="/new1"
    //第 2 次增量恢复
    [root@host1 ~]# innobackupex --user root --password 123456 --databases=“库名列表” --apply-log --redo-only /fullback --incremental-dir="/new2"
    [root@host1 ~]# chown -R mysql:mysql /var/lib/mysql
    [root@host1 ~]# systemctl restart mysqld
    

    innobackupex 选项:
    –host 主机名
    –user 用户名
    –port 端口号
    –password 密码
    –databases 数据库名
    –no-timestamp 不用日期命名备份文件存储的子目录
    –redo-only 日志合并
    –apply-log 准备还原(回滚日志)
    –copy-back 恢复数据
    –incremental 目录名 增量备份
    –incremental-basedir=目录名 增量备份时,指定上一次备份数据存储的目录
    –incremental-dir=目录名 准备恢复数据时,指定增量备份数据存储的目录名
    –export 导出表信息
    –import 导入表信息
    –stream= 指定流的格式做备份

  • 相关阅读:
    C++基础入门
    vue-cli查看相关版本以及更新配置
    微服务组件-反向代理(Nginx)
    RDD(弹性分布式数据集)及常用算子
    【深度学习】7-矩阵乘法运算的反向传播求梯度
    ubuntu安装mmdetection
    AI的IDE:Cursor配置虚拟python环境(conda)
    编译原理 LR(0)
    在线翻译软件-什么实时在线翻译软件比较好用?
    CalcPad(2) 单位设置和绘制图表
  • 原文地址:https://blog.csdn.net/weixin_43694134/article/details/138666955