Mysql备份压缩及恢复数据库方法总结

   一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器。如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些。

  在写自动备份脚本时,最好把备份结果直接压缩,恢复时也可以直接由压缩备份恢复。下面介绍如何使用bzip2和gzip进行压缩mysql备份文件。

  备份并用bzip压缩:

代码如下  

mysqldump | bzip2 > outputfile.sql.bz2

  从bzip2备份恢复:

代码如下  

bunzip2 < outputfile.sql.bz2 | mysql < mysql options>

  备份并用gzip压缩:

代码如下  

mysqldump | gzip > outputfile.sql.gz

  从gzip备份恢复:

  gunzip < outputfile.sql.gz | mysql < mysql options>

  补充本文章

  备份指定数据库

代码如下  

mysqldump -h hostname -u username -p databasename > db.sql不明确指定路径的话被分到用户工作目录:C:Documents and SettingsAdministrator

  可以明确指定备份目录:

代码如下  
mysqldump -u root -p mydb -h 192.168.14.204 > D:mydb.sql

  说明:

  -p之后不用输入密码,点击回车键之后才需要输入密码。

  直接将MySQL数据库压缩备份

代码如下  
mysqldump -h hostname -u username -p databasename | gzip > db.sql.gz

  说明:

  gzip是linux下的压缩工具,所以在windows环境下无法使用。

  备份MySQL数据库某个(些)表

代码如下  
mysqldump -h hostname -u username -p databasename table1 table2 > db.sql

  同时备份多个MySQL数据库

代码如下  
mysqldump -h hostname -u username -p –databases db1 db2 db3 > dbs.sql

  备份服务器上所有数据库

代码如下  
mysqldump --all-databases > allbackupfile.sql

  测试:

代码如下  
mysqldump --all-databases -u root -p > allbackupfile.sql

  Enter password: ******windows下可以使用Mysql Query Browser的File–》Open Script来执行备份的脚本,同时也可以使用一下命令直接进行恢复:

代码如下  

mysql -h hostname -u username -p databasename < backupfile.sql

时间: 2025-01-01 01:22:49

Mysql备份压缩及恢复数据库方法总结的相关文章

MySQL备份时排除指定数据库的方法_Mysql

使用mysqldump命令备份时候,--all-databases 可以备份所有的数据库. 使用ignore-table 还可以排除制定的表.但是,mysqldump没有参数可以排除数据库的. 要备份的数据库少的时候,可以通过mysqldump -uroot -p123456 --databases db1 db2 db3 > mysqldump.sql 这样来备份. 但是假如数据库有数十个的话,这样写起来很累人,也很low.解决办法还是有的,看下面: [下面演示用的mysql用户名的root,

mysql二进制日志文件恢复数据库_Mysql

二进制日志的文件的作用     mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句.如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合使用,即可再现用户操作,使数据库恢复. 二进制日志文件的弊端 二进制日志文件开启后,所有对数据库操作的记录均会被记录到此文件, 所以,当长时间开启之后,日志文件会变得很大,占用磁盘空间. 使用二进制日志文件恢复数据库 开启日志文件 mysql默认是不开启日志文件的

没有数据库日志文件恢复数据库方法两则

恢复|数据|数据库 方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTERGOSP_CONFIGURE ALLOW UPDATES,1

mysql利用binlog日志恢复数据库的例子

binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句.语句以"事件"的形式保存,它描述数据更改.当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回(前提是已经配置好了binlog),接下来我们来配置 一.开启mysql-binlog日志 在mysql配置文件my.cnf加上如下配置  代码如下 复制代码 [mysqld] log-bin=mysql-bin 重启mysql  代码如下 复制代码   service mysqld restart 二

无数据库日志文件恢复数据库方法两则

  方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 REC

小型Drupal数据库备份以及大型站点MySQL备份策略分享_Mysql

中小站点简单备份策略 基于drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时间.保留多少个备份等等设置,设置好之后,定期执行cron即可备份成功. 一般的Drupal小站,我们只需使用svn即可,在服务器端,我们把备份好的数据提交到svn,就可以达到备份的目的.由于Drupal的备份模块可以设置备份保留的文件份数,因此不会造成太多的备份文件,从而导致svn很大. 下面是一个简单的备份脚本,放置到站点根目录,然后加到crontab每天执行即

小型Drupal数据库备份以及大型站点MySQL备份策略教程

中小站点简单备份策略 基于drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时间.保留多少个备份等等设置,设置好之后,定期执行cron即可备份成功. 一般的Drupal小站,我们只需使用svn即可,在服务器端,我们把备份好的数据提交到svn,就可以达到备份的目的.由于Drupal的备份模块可以设置备份保留的文件份数,因此不会造成太多的备份文件,从而导致svn很大. 下面是一个简单的备份脚本,放置到站点根目录,然后加到crontab每天执行即

SQL恢复master数据库方法 只有mdf文件的数据库如何恢复_MsSql

首先先和大家讲一讲SQL Server恢复master数据库方法,具体步骤如下 第一步:复制model.mdf.mastlog.ldf.model.mdf.modellog.ldf.msdbdata.mdf.msdblog.ldf文件. 从X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates 至X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQ

SQL恢复master数据库方法 只有mdf文件的数据库如何恢复

首先先和大家讲一讲SQL Server恢复master数据库方法,具体步骤如下 第一步:复制model.mdf.mastlog.ldf.model.mdf.modellog.ldf.msdbdata.mdf.msdblog.ldf文件. 从X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates 至X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQ