• MySQL备份恢复手册


    文档结构

    • 备份前期准备
    • 工具备份恢复
    • 命令备份恢复
    • 其他备份方法

    ------------------------------------------------------------------------------------------------

    本文档介绍了三种备份恢复方法,根据实际情况选用最简单的一种即可

    ------------------------------------------------------------------------------------------------

    备份恢复前准备

    1、务必确保数据库版本为5.7或者8.0(这两个版本数据可跨版本恢复)

    2、确保源数据库和目标数据库必要参数已被修改

    3、如果数据准备恢复至其他用户(原用户与目标用户名不一致),需在目标库建一个相同权限的同名用户即可,或者在备份完成后对备份文件进行处理,在linux下执行如下命令

    [root@localhost ~]# sed -i "s/DEFINER=\`[^\`]+\`@\`[^\`]+\`//g" ecology_bak_20190428.sql
    [root@localhost ~]# sed -i "s/DEFINER = '[^']+'@'[^']+'//g" ecology_bak_20190428.sql
     

    1.使用工具备份迁移

    推荐使用sqlyog进行备份,不要使用navicate,因为navicate在备份数据库时函数和存储过程被视为同一类数据库对象处理,在导入时常常因为导入的先后问题导致导入失败

    sqlyog工具

    下载地址链接:https://pan.baidu.com/s/1oJdRW7Zo2_ZQGDM80EwDaQ 
    提取码:wmo9 

    注:安装程序之后关闭程序,点击安装文件同目录下的注册表进行注册即可使用

    导出过程:

    右键要导出的数据库,备份/导出-备份数据库

    导出过程注意将 "包含使用数据库声明"和"包括 CREATE database语句"选项去掉!!!!!!!!!!!!!!

    导入:

    导入前创建新的数据库

    create database ecology0818;

    右键新建的数据库名-导入-执行SQL脚本

    选择要导入的文件执行即可

    2.命令备份恢复

    备份:

    mysqldump -uroot -p -R --triggers --default-character-set=utf8 ecology > ecology_test_20181105.sql

    将备份传输至目标端

    恢复:

    mysql -uroot -p ecology < ecology_test_20181105.sql

    参数说明:

    -u      用户名

    -p      密码

    -R     备份存储过程和函数

    --triggers 备份触发器

    --default-character-set=utf8 设置备份存储编码

    ecology    备份恢复的数据库名

    注意:如果备份准备用来做主从恢复,需加上 --master-data参数,形如:mysqldump -uroot -p -R --triggers --master-data --default-character-set=utf8 ecology > ecology_test_20181105.sql

    备注:有时因为字符集问题(常见的是windows环境导出的sql文件中包含有'/'字符,导入到linux环境该字符被标识为目录标识),恢复是需要指明字符集,命令如下

    mysql -uroot -p --default-character-set=utf8 ecology < ecology_test_20181105.sql

    3.其它备份恢复方法

    1.冷备份恢复

    注:该方式备份恢复较快捷,方便,适合相同版本的数据迁移,备份恢复前请做好相关数据的备份工作

    关闭mysql服务

    service mysqld stop

    复制mysql datadir下的所有文件至新的数据库datadir下

    cd /var/lib/mysq/
    scp -r * 10.10.10.1:/var/lib/mysql/

    修改新的目录的权限

    cd /var/lib/mysq/
    chown mysql.mysql -R *

    启动新的mysql服务

    service mysqld start

    2.innodbbackup备份

    注:该备份的有点在于可以在线进行类似冷备份的操作,备份完成后追加备份期间的日志应用,保证备份的完整性,该方法也要求数据库的版本一致

    此处仅列出的备份命令

    备份

    innobackupex --user=root --password=work123 --socket=/var/lib/mysql/mysql.sock /opt/backup

    应用日志

    innobackupex --apply-log /opt/backup/2018-09-20_14-03-17/

     

    恢复

    cd /var/lib/mysql
    
    cp /opt/backup/2018-09-20_14-03-17/* /var/lib/mysql/

    启动新的mysql服务

    service mysqld start
  • 相关阅读:
    一句话说说java设计模式
    说说JVM中的操作码
    说说javap命令
    java中的类加载器
    浅谈幂等
    InstallShield Limited Edition for Visual Studio 国内注册时国家无下拉框解决方法
    Winform程序部署方式总结二——Windows Installer发布
    Winform程序部署方式总结一——ClickOnce发布
    WebService部署服务器调试时提示 “测试窗体只能用于来自本地计算机的请求”解决方法
    MVC绕过登陆界面验证时HttpContext.Current.User.Identity.Name取值为空问题解决方法
  • 原文地址:https://www.cnblogs.com/siskin/p/13522407.html
Copyright © 2020-2023  润新知