MySQL导⼊与导出备份详解
⽬录
⼀、MySQL备份类型详解
(⼀)按照备份对数据库的影响分类
(⼆)按照备份的⽂件进⾏分类
(三)按照备份的⽅式进⾏分类
⼆、MySQL数据库导出
(⼀)mysqldump导出数据
(⼆)mysqlhotcopy裸⽂件备份
(三)mysqldump与mysqlhotcopy⽐较
三、MySQL数据库导⼊
总结
⼀、MySQL备份类型详解
对于现代互联⽹公司⽽⾔,存储在服务器数据库中的数据,逐步成为企业和公司的命脉,对企业和公司的⽣存发展具有⼗分重⼤的影响。为了保证数据库数据存储安全,确保不会因为误操作和不可抗⼒⽽破坏,通常我们都会对数据库中的数据进⾏备份。对MySQL数据库的备份,可以有很多种⽅式,我们接下来按照不同的分类标准,来讲解⼀下这些备份⽅式:
(⼀)按照备份对数据库的影响分类
1、热备份(Hot Backup)。指在数据库运⾏过程中进⾏备份,并且对数据库正常运⾏没有任何影响。
2、冷备份(Cold Backup)。指在数据库停⽌运⾏后开始进⾏的备份。
3、温备份(Warm Backup)。指在数据库运⾏过程中进⾏备份,但是会造成数据库性能下降,对数据库提供服务造成影响的备份⽅式。
(⼆)按照备份的⽂件进⾏分类
1、逻辑备份。采⽤逻辑备份的⽅式,备份出的数据通常是.sql类型的⽂件。备份后的内容可读且为⽂本⽂件。该⽅法⼀般⽤于数据库的升级、迁移或者对数据库表的批量修改等场景。该⽅法恢复时间较长。
2、裸⽂件备份。指拷贝数据库的物理⽂件,采⽤这种⽅式,数据库恢复时间较短。
(三)按照备份的⽅式进⾏分类
1、完全备份。指的是对数据库进⾏完整的备份。
2、增量备份。指的是在上⼀次备份的基础上,对更新的数据进⾏备份,⽽不是备份所有数据。mysql怎么导出数据库给别人
3、⽇志备份。指的是对数据库的⽇志进⾏备份,MySQL主从同步架构中就是采⽤这种备份⽅式。
⼆、MySQL数据库导出
(⼀)mysqldump导出数据
mysqldump是MySQL数据库⾃带的数据备份导出的⼯具,该⼯具⽀持MyISAM和InnoDB引擎的数据表。mysqldump备份使⽤参数如下:
-u:表⽰指定登录数据库使⽤的⽤户。
-p:表⽰指定登录数据库使⽤的⽤户密码。
-d:表⽰导出时只导出数据库的表结构。
-t:表⽰导出时只导出数据库的具体数据⽽不包括表结构。
-A:表⽰导出所有的数据库。
使⽤mysqldump⽰例如下:
mysqldump -uroot -proot -A >all_database.sql
mysqldump -uroot -proot pzz > pzz.sql
mysqldump -uroot -proot pzz student > student.sql
mysqldump -uroot -proot -d pzz > pzz_table.sql
mysqldump -uroot -proot -t pzz > pzz_data.sql
上述五条命令,分别表⽰导出数据库中的所有数据,导出pzz数据库中的数据,导出pzz数据库中student表中的所有数据,导出pzz数据库中表结构相关数据以及导出pzz数据库中除了表结构之外的实际数据。
使⽤mysqldump导出的⽂件,结果如下所⽰:
(⼆)mysqlhotcopy裸⽂件备份
在MySQL5.5及以下版本的数据库中(MySQl5.7版本的数据库中已经删去mysqlhotcopy命令),可以进⾏快速备份。mysqlhotcopy所进⾏的备份,本质上就是对数据库库表⽂件的直接物理复制,只不过在复制时使⽤了锁对数据库的内容进⾏了锁定。并且,mysqlhotcopy命令只能备份MyISAM引擎的数据表。mysqlhotcopy命令使⽤⽰例如下:
mysqlhotcopy -u root -p root pzz /root
mysqlhotcopy -u root -p root pzz./student/root
上⾯两条命令,第⼀条是对pzz数据库进⾏备份,第⼆条是对pzz数据库中的student数据表进⾏备份。备份过程如下:
(三)mysqldump与mysqlhotcopy⽐较
1、mysqldump会备份成.sql⽂件,⽽mysqlhotcopy采⽤的是裸⽂件备份。
2、mysqldump备份和恢复⽐mysqlhotcopy速度慢,因此不适合⼤⽂件备份。
3、mysqldump⽀持MyISAM和InnoDB引擎,⽽mysqlhotcopy只⽀持MyISAM引擎。
4、mysqlhotcopy在MySQL5.5(不含)以上的版本中不⾃带。
5、mysqlhotcopy只能运⾏在数据库所在的设备上,⽽mysqldump可以运⾏在本地设备上,也可以运⾏在远程客户端。
6、mysqldump和mysqlhotcopy在运⾏时,都会对数据库进⾏上锁操作。
7、mysqldump备份的恢复本质上是对.sql⽂件中SQL语句的执⾏,⽽mysqlhotcopy备份的回复本质上是直接覆盖。
三、MySQL数据库导⼊
如果我们采⽤mysqlhotcopy对数据库进⾏备份,那么在恢复时只需要将备份的数据覆盖原有的数据即可。⽽如果对mysqldump导出的.sql⽂件进⾏恢复,则需要进⾏MySQL的数据导⼊。MySQL数据库的导⼊,有两种⽅式,⼀种是使⽤“<”符号,直接将.sql⽂件中的信息导⼊MySQL数据库,第⼆种是在登⼊数据库后,使⽤source命令导⼊数据。
例如,要导⼊exp.sql的备份数据,则可以执⾏命令:
mysql -uroot -proot < exp.sql
或者是登录进⼊数据库后,执⾏:
source /root/exp.sql
总结
到此这篇关于MySQL导⼊与导出备份详解的⽂章就介绍到这了,更多相关MySQL备份内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论