21 | 数据备份:异常情况下,如何确保数据安全?
如何进行数据备份?
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了MySQL中的数据备份工具mysqldump的使用方法,包括备份数据库中的表、整个数据库以及整个数据库服务器的具体步骤。通过mysqldump工具,读者可以轻松备份数据库中的表,同时保留表的结构信息和全部数据信息。此外,文章还介绍了逻辑备份和物理备份两种方式,以及数据恢复的命令行客户端工具mysql的使用方法。另外,文章还介绍了如何导出和导入表里的数据,以及使用“SELECT … INTO OUTFILE”语句导出数据表的方法。通过本文的总结,读者可以快速了解数据备份的重要性以及如何使用mysqldump工具进行数据备份,从而提高应用中的数据安全性。文章还介绍了数据导出语句“SELECT … INTO OUTFILE”和导入的语句“LOAD DATA”,并强调了它们在数据备份中的重要性。同时,作者提出了思考题,引发读者思考和讨论。
《MySQL 必知必会》,新⼈⾸单¥59
全部留言(7)
- 最新
- 精选
- 朱晓峰置顶你好,我是朱晓峰,下面我就来公布一下上节课思考题的答案: 上节课,我们学习了日志(下)。下面是思考题的答案: 这段二进制日志包括了2个SQL操作,第一个是从数据表demo.goodsmaster中删除一条记录,第二个是向数据表demo.goodsmaster中插入一条记录。起始位置:627,截止位置:11252021-05-20
- SharpBB1.三种模式的数据备份 备份数据库中的表 mysqldump -h 服务器 -u 用户 -p 数据库名称 表1,表2 > 备份文件名称 备份数据库 mysqldump -h 服务器 -u 用户 -p --databases 数据库名称 > 备份文件名 其实就是将里面的库表都创建了 备份整个数据库服务器 mysqldump -h 服务器 -u 用户 -p --all-databases > 备份文件名 一般来讲没有必要 2.数据恢复 使用mysql命令 mysql -u root -p demo < test.sql 如果备份的是数据库 那么就不需要加demo 使用source命令 SOURCE /home/demo.sql 后面跟的是linux下的备份文件地址 如果是恢复数据表 则先用 use demo; 3.数据导出导入 导出 select * into outfile '/home/user.txt' fields terminated by ',' lines terminated by '\n' from demo.user; 先查找linux下my.cnf文件位置 mysql --help | grep 'my.cnf' 配置文件里设置 secure-file-priv='/home' 再将home的权限设置为 chomd 777 否则权限会受阻 导入 load data infile '/home/user.txt' into table user fields terminated by ',' lines terminated by '\n'; 注意要加绝对路径 load data是效率非常高 推荐使用!
作者回复: 好的
2022-02-143 - lesserror敲黑板了,几百万数据使用 LOAD DATA 命令回复只需几分钟,可以说是属于黑科技了,长见识了。 课程中讲到的命令,公司运维经常使用。今天跟着敲了一遍,加深了印象。 无论什么规模的项目,一定要学会数据的及时、准确的备份,数据就是公司最重要的财产。
作者回复: 是的
2021-04-272 - 小明针不戳可以修改my.ini 文件的secure-file-priv参数,指定为H盘,之后重启数据库
作者回复: 请参考思考题答案
2021-04-271 - SharpBB老师 问一个问题 我用root账户登录 在用docker创建mysql 进入容器内操作mysql 导出文件 但是发现没有权限 随即将权限改成777就可以了 但是这个权限是跟什么有关的呢 为什么不是最高权限?
作者回复: 不建议用docker创建MySQL
2022-02-14 - HaleERROR 1 (HY000) at line 1: Can't create/write to file '/root/a.txt' (Errcode: 13 - Permission denied) 在linux下试了,a.txt增加了可执行权限,还是报错
作者回复: 还是权限问题,你可以先查看一下MySQL中的系统变量设定,比如: mysql> show variables like '%secure%'; +--------------------------+-----------------------+ | Variable_name | Value | +--------------------------+-----------------------+ | require_secure_transport | OFF | | secure_file_priv | /var/lib/mysql-files/ | +--------------------------+-----------------------+ 2 rows in set (0.00 sec) 这样就知道secure_file_priv的目标文件夹是/var/lib/mysql-files/,然后把导出文件写到这个文件夹中,应该可以执行成功: mysql> select * into outfile '/var/lib/mysql-files/a.txt' from demo.goodsmaster; Query OK, 2 rows affected (0.00 sec) 查看一下: # cat /var/lib/mysql-files/a.txt 1 铅笔 2 橡皮
2021-06-02 - giteebravo本节需要掌握两点: 1. 备份和恢复整个数据库服务器、数据库和数据库中的表的方法。 2. MySQL 数据导出和导入的方法。 思考题: 如果还是想把导出文件保存到 H:\ 目录下,有没有办法实现呢? ------------ 答:直接修改 “secure-file-priv” 设定的目录。
作者回复: 请参考思考题答案
2021-04-273