python-day47--mysql数据备份与恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day47--mysql数据备份与恢复相关的知识,希望对你有一定的参考价值。

一、IDE工具介绍

掌握:
#1. 测试+链接数据库
#2. 新建库
#3. 新建表,新增字段+类型+约束
#4. 设计表:外键
#5. 新建查询
#6. 备份库/表

#注意:
批量加注释:ctrl+?键
批量去注释:ctrl+shift+?键

二、MySQL数据备份

#1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows(要求平台一致)。
#2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
#3. 导出表: 将表导入到文本文件中。

1.使用mysqldump实现逻辑备份

#语法:
# mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql

#
#单库备份
mysqldump -uroot -p123 db1 > D:\\\\db1.sql
mysqldump -uroot -p123 db1 table1 table2 > D:\\\\db1-table1-table2.sql   #备份表

#多库备份
mysqldump -uroot -p123 --databases db1 db2 mysql db3 >D:\\\\ db1_db2_mysql_db3.sql

#备份所有库
mysqldump -uroot -p123 --all-databases > D:\\\\all.sql

2.恢复逻辑备份

#方法一:
mysql -uroot -p123 day47< D:\\\\day47.sql      (要提前有day47 库)

#方法二:
create database day47;
use day47;
source D:\\\\day47

3.在不进入数据库的情况下查看数据库内的数据

技术分享

4.数据库迁移(扩展了解)

务必保证在相同版本之间迁移
# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456

5.表的导出和导入

SELECT... INTO OUTFILE 导出文本文件
示例:
mysql> SELECT * FROM school.student1
INTO OUTFILE student1.txt
FIELDS TERMINATED BY , //定义字段分隔符
OPTIONALLY ENCLOSED BY  //定义字符串使用什么符号括起来
LINES TERMINATED BY \\n ; //定义换行符


mysql 命令导出文本文件
示例:
# mysql -u root -p123 -e ‘select * from student1.school‘ > /tmp/student1.txt
# mysql -u root -p123 --xml -e ‘select * from student1.school‘ > /tmp/student1.xml
# mysql -u root -p123 --html -e ‘select * from student1.school‘ > /tmp/student1.html

LOAD DATA INFILE 导入文本文件
mysql> DELETE FROM student1;
mysql> LOAD DATA INFILE /tmp/student1.txt
INTO TABLE school.student1
FIELDS TERMINATED BY ,
OPTIONALLY ENCLOSED BY 
LINES TERMINATED BY \\n;

技术分享

技术分享

 

以上是关于python-day47--mysql数据备份与恢复的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学Python-day8

python-day11 Mysql 数据类型

python-day11-MYSQL 数据库及数据表

python-day30--粘包

Python-Day01

python-day04-study