第十二章 备份和恢复

第十二章  备份和恢复
1.了解数据库备份的基本概念
答:数据库恢复就是当数据库出现故障时,将备份的数据库加载到系统,从而使数据库恢复到备份时的状态。
数据库分类:按备份内容:逻辑备份,物理备份
                      按备份涉及的范围:完全备份,差异备份,增量备份

2.掌握表数据的导入与 导出的基本操作
答:注意:secur_file_priv设置:
        当secure_file_priv为null时,表示不允许导入和导出
        当secure_file_priv为指定文件夹时,表示MySQL的导入和导出只能发生在指定文件夹
        当secure_file_priv为没有设置时,表示没有任何限制。

          a.用select...into outfile 导出数据
                    select 【导出列表】 from table [where 子句]
                    into outfile'目标文件' 【options】;(options 用于设置内容的格式)
                                  eg:select * from bmdmb into outfile 'c:/programdata/mysql/a';
           注意导出的通常为文本文档,需要其他格式,可以自己修改后缀名。
           b.用mysqldump 命令导出数据
                mysqldump -u root -p 密码 -T 目标目录 dbname table [options];
                    eg: mysqldump -uroot -proot -t d:\bak\   jwgl  bmdmb;
                    mysqldump -u root  -p root --xml dbname table > 导出文件路径;(注意在 > 符号前                      后都加上空格)
            c.用mysql 命令导出数据
                   mysql -u root -p 密码 -e "select 语句" dbname > 导出文件;(导出TXT文件)
                   mysql -u root -p 密码 -x -e "select 语句" dbname > 导出文件;(导出xml 文件)
                   mysql -u root -p 密码 -h -e "select 语句" dbname > 导出文件;(导出html 文件)

             d.用load data infile 命令导入文本文件(命令简写)(配合select...into outfile 使用)
                    load data infile '导入文件名.txt'
                    into table 表名 【options】;

3.掌握MySQL数据库中数据备份的基本操作
答:使用mysqldump命令备份数据
    备份一个数据库中的表:mysqldump -h host -u user -p 密码 dbname tbname1 [ tbname2 ...] >                                              filename.sql;
    备份多个数据库中的表:mysqldump -h host -u user -p 密码 --databases dbname1 [ dbname2                                              ...] > filename.sql;
    备份所有数据库:mysqldump -h host -u user -p 密码 --all-databases > filename.sql;
             
            如果只用备份数据库结构加上“--no-data”:
        mysqldump -h host -u user -p 密码 --no-data dbname tbname1 [ tbname2 ...] > filename.sql;
        mysqldump -h host -u user -p 密码 --no-data --databases dbname1 [ dbname2 ...] >                            filename.sql;
        mysqldump -h host -u user -p 密码 --no-data --all-databases > filename.sql;

4.掌握MySQL数据库中数据恢复的基本操作
答:使用source命令恢复(配合mysqldump备份数据使用)
              source filename.sql;
                    恢复表:source d:/bak/jwgl_xskb.sql;
                    恢复数据库:source d:/bak/jwgl.sql
       使用mysql命令还原:(配合mysqldump备份数据使用)
                    mysql -u username -p 密码 [dbname] < filename.sql;

5.掌握二进制日志的启用,查看和删除的基本操作
答:查看和启用二进制日志
    查看是否开启日志:show varibales like 'log_bin%';
    开启日志:set log_bin=on;
    查看二进制日志文件个数及文件名:show binary logs;
    刷新二进制日志:flush logs;
    查看二进制文件内容:mysqlbinlog filename;(filename为二进制日志文件名)

      删除二进制文件:a.全部删除: reste master;
                                   b.删除指定的:删除特定日志 purge { master | binary } logs to '日志文件名';
                                                            删除指定日期:purge { master | binary } logs before 'date';

6.掌握利用二进制日志恢复数据库的过程
    mysqlbinlog [option] filename | mysql -u user -p 密码;(filename为二进制文件位置)

7.掌握错误日志,通用查询日志和慢日志的查看和删除等基本操作
答:错误日志:
                查看:show variables like 'log_error%';
                删除:mysqladmin -u root -p flush-logs;
       通用日志:
               查看:show bariables like 'general_log%';
               开启日志: set global general_log=1;
               删除:mysqladmin -u  root -p flush-logs;
        慢日志:
                查看:show variables like '%slow%';
                查看并设置慢日志时间:
                         show variables like '%long_query_time%';
                         set global long_query_time=5;
                         set session long_query_time=5;
               删除:mysqladmin -u root -p flush-logs;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ee .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值