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';

 

posted @ 2017-09-14 15:17  Cool·  阅读(2472)  评论(0编辑  收藏  举报