MYSQL数据库备份还原

MYSQL数据库备份还原

一、  数据库备份

备份数据是数据库管理最常用的操作。为了保证数据库中数据的安全,数据管理员需要定期地进行数据备份。一旦数据库遭到破坏,即可通过备份的文件来还原。因此,数据备份是很重要的工作。

1、使用mysqldump 命令备份

mysqldump 命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump 命令的工作原理很简单: 它先查出需要备份的表的结构,再在文本文件中生成一个CREATE 语句,然后将表中的所有记录转换成一条INSERT 语句。还原数

据时就可以使用其中的CREATE 语句来创建表,使用其中的INSERT 语句来还原数据。

使用mysqldump 命令备份一个数据库的基本语法如下:

mysqldump –u username –pPassword dbname table1t able2...>BackupName.sql

2、通过复制进行备份

MySQL 有一种最简单的备份方法,就是将其中的数据库文件直接复制出来。这种方法最简单,速度也最快。使用该方法时,最好将服务器先停止,这样可以保证在复制期间数据库中的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种方法虽然简单快捷,但不是最好的备份方法。因为,实际情况可能不允许停止MySQL服务器。而且,这种方法对InnoDB 存储引擎的表不适用。对于MyISAM 存储引擎的表,这样备份和还原很方便。但是还原时最好是相同版本的MySQL 数据库,否则可能会出现存储文件类型不同的情况。

3、使用msqlhotcopy工具快速备份

如果备份时不能停止MySQL 服务器,可以采用msqlhotcopy工具。msqlhotcopy工具的备份 方式比msqlhotcopy命令快。msqlhotcopy工具是一个Perl脚本,主要在Linux操作系统下使用。msqlhotcopy工具使用LOCKTABLES、FLUSTABLES和cp进行快速备份。其工作原理是,先将需要各份的数据IMET-使提作锁。然后,用FUSHTALES将内存中的数据写回到硬位上的数据本中。最后,把需要备份的数据库文件复制到目标目录下。

二、  数据库还原

管理员的非法操作和计算机的故障都会破坏数据库文件。当数据库遇到这些意外时,可以通过备份文件将数据库还原到备份时的状态,这样可以将损失降低到最小。

  1. 使用mysql还原

通常使用myqdump命令将数据库的数据备份成一个文本文件,通常这个文件的后缀名是.sql。需要还原时,可以使用mysql 命令来还原备份的数据。备份文件中通常包含CREATE 语句和INSERT 语句。mysql 命令可以执行备份文件中的CREATE 诸句和INSERT 语旬,通过CREATE 语句来创建数据库和表,通过INSERT 语句来插入备份的数据。mysql 命令的基本语法如下,

mysql –u root –pPassword [dbname]  <backup.sql

执行完后,MySQL数据库中就已经还原了all.sql文件中所有数据库

2.通过复制进行还原

通过这种方式还原时,必须保证两个MySQL 数据库的主版本号是相同的,而且这种方式对MyISAM 类型的表比较有效,对于InnoDB类型的表则不可用,因为InnoDB表的表空间不能直接复制。

原文地址:https://www.cnblogs.com/hhhhhhh/p/8279098.html

时间: 2024-10-08 12:50:44

MYSQL数据库备份还原的相关文章

xtrabackup进行MySQL数据库备份/还原

http://hongge.blog.51cto.com/ 使用xtrabackup进行MySQL数据库备份 前面介绍mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了. 这时就需要一种好用又高效的工具,xtrabackup就是其中一款,号称免费版的InnoDB HotBackup. Xtrabackup实现是物理备份,而且是物理热备 目前主流的有两个工

MYSQL数据库备份还原,并还原到最新状态(mysqldump)

启用二进制日志文件 vim /etc/my.cnf 配置文件位置及文件名根据实际情况确定 sql_log_bin=ON|OFF:是否记录二进制日志,默认为ON //在需要的时候设置为OFF log_bin=/PATH/BIN_LOG_FILE:指定二进制日志文件位置; 通常单独存放到与数据库不同的机器中 清理二进制日志文件 show master logs; 查看二进制日志文件列表 flush logs; 切换二进制日志文件(mysql命令),创建新的二进制日志 mysqladmin flush

[MySql] - 数据库备份还原

导出数据库到SQL方法: mysqldump.exe -u[USERNAME] -p[PASSWORD] -h [IP] jira --lock-all-tables > c:\db.sql 导入SQL文件到数据库方法: 首先先进入mysql新建数据库,比如:testdb 再使用命令: mysql -u[USERNAME] -p[PASSWORD] -h[IP] testdb < c:\db.sql

Mysql数据库备份和还原常用的命令

Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下面就是操作的常用命令. 一.备份命令 1.备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename>backupfile.sql 2.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有

MySQL数据库备份与还原

备份数据库 1.使用mysqldump命令备份 备份一个数据库:mysqldump -u 用户名 -p密码 数据库名 [表名1,表名2...]>备份文件路径及名字.sql 如果没有表名,则备份整个数据库 eg: mysql -u root -p test studentinfo >D:\test.sql 备份多个数据库:mysqldump -u 用户名 -p --databases 数据库1,数据库2...  >  备份文件路径及名字.sql 备份所有数据库:mysqldump -u 用

[转]MySQL数据库备份和还原的常用命令小结

MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. mysqldump ---add-drop-table -uusername -ppassword databasena

MySQL数据库备份和还原的常用命令小结

MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. mysqldump ---add-drop-table -uusername -ppassword databasena

第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原

MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql

JSP 实现 之 调用java方法实现MySQL数据库备份和恢复

package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStreamReader; public class Command { /* public static void main(String[] args) throws IOException { Command com = new Com