当前位置:Gxlcms > 数据库问题 > python-day47--mysql数据备份与恢复

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

时间:2021-07-01 10:21:17 帮助过:14人阅读

#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数据备份与恢复

标签:mina   分享   pytho   文本   字段   lines   inf   情况   方法   

人气教程排行