Mysql数据库(九)备份与恢复
2024-09-01 15:57:48
一、数据备份
1.使用mysqldmp命令备份
(1)备份一个数据库
mysqldump -u root -p dbname table1 table2 ... > D:\BackName.sql
(2)备份多个数据库
mysqldump -u root -p --databases dbname1 dbname2 > D:\BackName.sql
(3)备份所有数据库
mysqldump -u root -p --all-databases > D:\BackName.sql
2.直接复制整个数据库目录(先找到数据库文件的保存位置,然后将数据库文件直接复制出来)
show variables like '%datadir%';
3.使用mysqlhotcopy工具快速备份(是一个Perl脚本,主要在Linux操作系统下使用,只能备份MyLSAM类型的表)
二、数据恢复
1.使用mysql命令还原
mysql -u root -p db_librarybak < D:\db_library.sql
2.直接复制到数据库目录(对InnoDB类型的表不可用)
三、数据库迁移
1.MySQL数据库之间的迁移
mysqldump -h host1 -u root --password=password1 --all-databases |
mysql -h host2 -u root --password=password2
2.不同数据库之间的迁移
(1)在Windows下,通常可以使用MyODBC实现MySQL数据库与SQL Server之间的迁移。
(2)将MySQL数据库迁移到Oracle数据库时,需要使用mysqldump命令先导出SQL文件,再手动修改SQL文件中的CREATE语句。
四、表的导出和导入
1.用SELECT...INTO OUTFILE导出文本文件
(1)指定的目标路径只能是MySql的secure_file_priv参数所指定的位置。
mysql> select @@secure_file_priv
-> ;
+-------------------------------------------------+
| @@secure_file_priv |
+-------------------------------------------------+
| C:\mysoftware\Java\mysql-5.7.20-winx64\Uploads\ |
+-------------------------------------------------+
1 row in set (0.00 sec)
(2)使用SELECT...INTO OUTFILE导出文本文件
mysql> use db_library;
Database changed
mysql> select * from tb_bookinfo INTO OUTFILE 'C:/mysoftware/Java/mysql-5.7.20-winx64/Uploads/bookinfo.txt';
Query OK, 3 rows affected (0.01 sec)
2.用mysqldump命令导出文本文件
C:\Users\BigJun>mysqldump -u root -p -T "C:/mysoftware/Java/mysql-5.7.20-winx64/Uploads" db_library tb_bookinfo
Enter password: *********
mysqldump命令还可以导出xml格式的文件。
C:\Users\BigJun>mysqldump -u root -p --xml db_library tb_bookinfo > D:\name.xml
Enter password: *********
3.用mysql命令导出文本文件
C:\Users\BigJun>mysql -u root -p -e "SELECT * FROM tb_bookinfo" db_library > D:/bookinfo3.txt
Enter password: *********
mysql -u root -p --xml -e "SELECT * FROM tb_bookinfo" db_library > D:/bookinfo3.xml mysql -u root -p --html -e "SELECT * FROM tb_bookinfo" db_library > D:/bookinfo3.html
最新文章
- 【经验之谈】Windows环境下配置WordPress
- POJ3928Ping pong[树状数组 仿逆序对]
- AJAX-----01远古时期的ajax
- 表单验证 jQuery Validate
- CentOS 6.5部署HTTP WEB服务器和FTP服务器
- IOS中一个简单的粒子效果实现
- --@angularJS--angular与BootStrap3的应用
- [LeetCode]Count and Say 计数和发言
- leetcode 566 Reshape the Matrix 重塑矩阵
- PHP异常和错误
- 系统编码,文件编码,python编码
- 如何判断页面是pc端还是移动端,进入不同的页面
- 软件工程(GZSD2015) 第三次作业提交进度
- 插入图片新方式:data:image
- source insight之quicker.em宏的使用
- Linux root用户下强制静音的问题
- Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付
- OpenCV学习(31) 基于defects的简单手势
- Java面向对象编程:封装,继承,多态
- sublime text 2 卸载与重装
热门文章
- 编程范式 --- 面向协议编程(Protocol Oriented Programming,简称POP)
- 在网页中动态地给表格添加一行内容--HTML+CSS+JavaScript
- 2017CCSP-01 五子棋 简单模拟
- 快学Scala 第十五课 (二进制读取文件,写文件,访问目录,序列化)
- jmeter从获取token开始设计接口
- Rust入坑指南:坑主驾到
- eclipse中Tomcat version 9.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, 7, and 8 Web modules
- SecureCRT连接虚拟机下的CentOS7
- maven在线自动更新太慢怎么办?
- QT文件读写操作笔记