mysql数据库备份及恢复命令mysqldump,source的用法

合集下载

使用MySQL进行数据备份和恢复测试

使用MySQL进行数据备份和恢复测试

使用MySQL进行数据备份和恢复测试一、介绍在数据库管理中,数据备份和恢复是非常重要的工作。

数据的丢失或损坏可能导致业务中断或信息不完整,因此备份和恢复工作十分必要。

本文将重点介绍如何使用MySQL进行数据备份和恢复测试。

二、备份方法1. 使用mysqldump命令备份:Mysqldump是MySQL自带的备份工具,可以将整个数据库或特定的表数据导出为SQL脚本文件。

通过以下命令可以进行备份:```mysqldump -u username -p password --databases database1 database2 > backup.sql ```其中,username是MySQL的用户名,password是密码,database1和database2是需要备份的数据库名。

备份文件将存储为backup.sql文件。

2. 使用MySQL Workbench备份:MySQL Workbench是MySQL官方提供的一个图形化管理工具,它可以方便地进行数据库管理和操作。

通过MySQL Workbench,可以选择需要备份的数据库,右键点击选择“导出数据”即可进行备份。

三、恢复方法1. 使用mysql命令还原:使用以下命令可以进行恢复:```mysql -u username -p password < backup.sql```其中,username是MySQL的用户名,password是密码,backup.sql是之前备份的SQL脚本文件。

2. 使用MySQL Workbench恢复:打开MySQL Workbench,选择需要恢复的数据库,右键点击选择“运行SQL文件”,选择之前备份的SQL脚本文件,点击运行即可进行恢复。

四、备份和恢复测试在进行备份和恢复操作之前,应首先创建一个测试数据库,并插入一些测试数据。

可以使用以下命令进行创建和插入操作:```CREATE DATABASE test_db;USE test_db;CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255),age INT);INSERT INTO test_table (name, age) VALUES ('Tom', 20), ('Jerry', 25), ('Mike', 30);```接下来,可以使用备份方法中介绍的备份命令进行备份,将数据备份到backup.sql文件中。

Mysql数据备份与mysqldump增量备份

Mysql数据备份与mysqldump增量备份

Mysql数据备份与mysqldump增量备份在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。

如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。

本文主要对MyISAM表做备份恢复。

备份策略一:直接拷贝数据库文件备份策略二:使用mysqldump备份数据库(一个星期全备一次,每天增量备份)一、直接拷贝数据文件直接拷贝数据文件最为直接、快速、方便,但缺点是基本上不能实现增量备份。

为了保证数据的一致性,需要在备份文件前,执行以下 SQL 语句:FLUSH TABLES WI TH READ LOCK;也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。

这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。

为了方便的拷贝出数据文件,我写了一个脚本让其每天运行一次做备份。

在/目录下建一个目录用来放置脚本文件,#mkdir /scripts创建一个备份数据库的一个脚本文件#vi backup_mysql.sh#!/bin/bashbackup_dir=/backup/databak #备份文件放置目录backup_target_dir=/backup/dbbackup_logs_dir=/backup/logs #备份日志目录db=bcmediaDATE=$(date +%Y%m%d)#得到10天前的日期ccDATE=$(date "-d 10 day ago" +%Y%m%d)echo "开始复制数据表" >> $backup_logs_dir/$db$DATEecho "-----------`date +"%Y-%m-%d %H:%M:%S"`--------------------" >> $bac kup_logs_dir/$db$DATEcp -R /data/$db $backup_target_dir/ #mysql数据库的数据目录为/dataecho "开始压缩数据表" >> $backup_logs_dir/$db$DATEecho "------------------------" >> $backup_logs_dir/$db$DATEcd $backup_target_dirtar -zcvf $backup_dir/db$DATE.tar.gz $db/ >> $backup_logs_dir/$db$DATEif [ $? -eq 0 ]thenecho "backup succeed" >> $backup_logs_dir/$db$DATEelseecho "backup fail" >> $backup_logs_dir/$db$DATEfiecho "开始删除原数据表" >> $backup_logs_dir/$db$DATEecho "-----------------------" >> $backup_logs_dir/$db$DATErm -rf $backup_target_dir/* && echo “删除原数据表” >> $backup_logs_dir/$d b$DATEecho "删除10天前数据" >>$backup_logs_dir/$db$DATEif [ -e $backup_dir/db$ccDATE.tar.gz ]thenrm -rf $backup_dir/db$ccDATE.tar.gzecho "Delete $backup_dir/db$ccDATE.tar.gz succeed" >>$backup_logs_dir/$db $DATEelseecho "Not found $backup_dir/db$ccDATE.tar.gz file" >>$backup_logs_dir/$db $DATEfiif [ -e $backup_logs_dir/$db$ccDATE ]thenrm -rf $backup_logs_dir/$db$ccDATEecho "Delete $backup_logs_dir/$db$ccDATE succeed" >>$backup_logs_dir/$db $DATEelseecho "Not found $backup_logs_dir/$db$ccDATE file" >>$backup_logs_dir/$db $DATEfi保存退出并添加可执行的权限#chmod 755 backup_mysql.sh让脚本每天执行一次,每天备份一次数据库,在crontab 里面添加一行Crontab –e10 4 * * * /scripts/ backup_mysql.sh #每天4点10分运行脚本备份数据库还原数据库的时候只要把备份出的文件拷贝到数据库放置数据的目录下,修改权限。

MySQL中的数据备份和恢复的工具推荐

MySQL中的数据备份和恢复的工具推荐

MySQL中的数据备份和恢复的工具推荐MySQL是一种常用的关系型数据库管理系统,用于存储和管理大量的数据。

在实际应用中,数据备份和恢复是非常重要的环节,可以保证数据的安全性和可靠性。

本文将介绍MySQL中一些常用的数据备份和恢复工具,帮助读者更好地了解和选择适合自己的工具。

一、概述数据备份和恢复是数据库管理中至关重要的一环。

当数据库因为各种原因(如硬盘故障、系统崩溃、误操作等)而丢失或损坏时,可以通过备份来恢复数据。

备份过程是将数据库中的数据和对象(如表、索引、触发器等)复制到一个独立的物理设备或文件,以便在需要时恢复。

恢复过程是将备份文件重新加载到数据库中,使数据库恢复到备份时的状态。

二、MySQL数据备份和恢复的方法MySQL提供了多种数据备份和恢复的方法,下面将介绍其中几种常用的方法及其特点。

1. mysqldumpmysqldump是MySQL官方提供的备份工具,可以导出数据库的结构和数据。

它通过生成一组SQL语句来实现备份,可以选择只备份特定的表或者整个数据库。

备份文件可以以文本格式保存,便于查看和编辑。

恢复时,可以通过执行备份文件中的SQL语句来将数据恢复到数据库中。

使用mysqldump的命令格式如下:```mysqldump -u 用户名 -p 密码数据库名 > 备份文件名```mysqldump的优点是简单易用,不需要安装额外的软件,也不会对数据库的运行产生影响。

但是,由于备份过程是生成一组SQL语句,因此对于大型数据库来说,备份文件可能会非常大,导致备份和恢复的时间比较长。

2. MySQL Enterprise BackupMySQL Enterprise Backup是由Oracle提供的商业备份工具,可以对MySQL数据库进行全量和增量备份。

它可以在数据库运行时进行备份,且备份是原子性的,不会对数据库的正常运行产生影响。

备份文件可以以二进制格式保存,可以提高备份和恢复的速度。

如何恢复MYSQL数据库中误删除的数据

如何恢复MYSQL数据库中误删除的数据

如何恢复MYSQL数据库中误删除的数据MySQL数据库中误删除了数据时,可以通过以下几种方式来进行数据恢复:1.从备份中恢复数据:如果在删除数据之前定期进行了数据库备份,可以通过恢复备份文件来恢复误删除的数据。

恢复备份文件的过程包括将备份文件拷贝到MySQL的数据目录,停止MySQL服务,将备份文件解压缩并替换掉现有的数据文件,然后重新启动MySQL服务。

2. 使用二进制日志(binary log)进行恢复:MySQL中的二进制日志记录了对数据库的所有更改操作,包括删除数据。

可以通过分析二进制日志来找到并恢复误删除的数据。

首先需要确保MySQL的binlog_format参数设置为ROW,以便记录详细的更改信息。

然后可以使用mysqlbinlog工具来解析二进制日志文件,并查找误删除的数据的相关操作。

找到后可以将相应的SQL语句复制到MySQL客户端中执行,即可恢复误删除的数据。

3. 使用第三方工具进行数据恢复:有一些第三方工具可以帮助恢复误删除的MySQL数据。

这些工具可以通过扫描数据库文件或者日志文件来还原被删除的数据。

一些流行的工具包括UndeleteMyFiles、MySQL-FR、DataNumen、ApexSQL Log等。

这些工具通常提供了直观的用户界面,可以通过简单的操作来恢复数据。

4. 手动恢复数据:如果以上方法都无法恢复误删除的数据,还可以尝试手动恢复。

首先需要停止MySQL服务,然后备份数据库文件以防止意外操作导致数据进一步丢失。

接下来可以使用文件系统级别的操作来恢复被误删除的数据文件。

可以使用一些低级别的工具如foremost、extundelete、TestDisk等来扫描磁盘并尝试恢复误删除的数据文件。

恢复完成后,需要将恢复的数据文件放回到MySQL的数据目录中,并重新启动MySQL服务。

5.寻求专业数据恢复服务:如果以上方法都无法恢复误删除的数据,可以考虑寻求专业的数据恢复服务。

mysql8 的备份和恢复方法

mysql8 的备份和恢复方法

mysql8 的备份和恢复方法MySQL 8 的备份和恢复方法MySQL 是一种常用的关系型数据库管理系统,被广泛应用于各种类型的应用程序中。

为了保护数据库中的重要数据,定期备份数据库并学会恢复是非常重要的。

本文将介绍 MySQL 8 数据库的备份和恢复方法。

备份数据库是指将数据库的数据和架构等信息复制到另一个位置,以便在数据丢失或系统崩溃时可以恢复数据。

下面是备份 MySQL 8 数据库的方法:1. 使用 MySQL 官方提供的 mysqldump 工具:mysqldump 是 MySQL 官方提供的用于备份数据库的命令行工具。

在备份MySQL 8 数据库时,可以使用以下命令:```mysqldump -u <用户名> -p <密码> <数据库名> > <备份文件名>.sql```这个命令将会把指定的数据库备份为一个 .sql 文件。

例如,要备份名为"example" 的数据库,可以运行以下命令:```mysqldump -u root -p example > example_backup.sql```该命令将提示输入密码,然后将 "example" 数据库备份到 "example_backup.sql" 文件中。

2. 使用 MySQL Workbench 进行备份:MySQL Workbench 是图形化的数据库管理工具,可以方便地备份和恢复MySQL 数据库。

打开 MySQL Workbench 后,选择 "Server" 菜单下的 "Data Export" 选项。

在弹出的窗口中,选择要备份的数据库和备份的位置,然后点击"Start Export" 开始备份。

这种方法适用于那些不熟悉命令行的用户,通过图形界面进行操作更加直观和方便。

MySQL5.7的备份与恢复简介和使用mysqldump备份MySQL数据库

MySQL5.7的备份与恢复简介和使用mysqldump备份MySQL数据库

MySQL5.7的备份与恢复简介和使用mysqldump备份MySQL数据库展开全文一、备份的类型和其他说明:1.1 按备份时服务器是否继续提供服务区分:•热备份:备份时读写都不受影响•温备份:备份时仅可进行读操作•冷备份:也叫离线备份,读写操作均中止不同的存储引擎对备份的支持也是不一样的,MyISAM存储引擎可以使用LVM快照功能配合实现热备份,如果没有LVM,则只能实现温备份。

而InnoDB则可以完全支持热备,可使用的热备工具有:xtrabackup, mysqldump等从数据的安全角度来说,离线备份(冷备份)是最安全的,且是最快速的。

但离线备份需要停止服务,对业务带来影响。

如果MySQL 服务器存在主从服务器,则可以使用将从服务器停机进行冷备份,即保证服务,又保障数据数据安全。

1.2 按备份操作方式区分:•物理备份:复制数据文件,特点:速度快•逻辑备份:将数据导出至文本文件中,特点:速度慢、丢失浮点数精度;方便使用文本处理工具直接对其处理、可移植能力强1.3 按是否备份全部数据还是只备份部分数据区别:•完全备份:备份全部需要备份的数据•增量备份:仅备份上次完全备份或增量备份以后变化的数据•差异备份:仅备份上次完全备份依赖变化的数据一般情况下,根据备份策略组合使用:完全+增量;完全+差异1.4 其他说明:备份的目的是在灾难发生时用来还原,因此为了保证可以还原,因此需要定期进行恢复测试,另外还需要根据实际情况制定最优的备份和恢复策略。

那么MySQL备份需要备份那些数据呢?主要包括:数据、配置文件、二进制日志、事务日志二、备份工具介绍:2.1 MySQL备份工具:•mysqldump: 逻辑备份工具、MyISAM(温)、InnoDB(热备份) •mysqlhotcopy:物理备份工具、温备份2.2 文件系统工具:cp:冷备份lv:逻辑卷的快照功能,可以实现几乎热备的功能,备份过程如下:2.3 第三方工具:•ibbackup: 商业工具,备份速度非常快,支持热备份,但同时也非常贵•xtrabackup: 开源工具三、使用mysqldump对MySQL进行备份:3.1 基本语法:备份单个数据或单个数据中的指定表:备份多个数据库:备份所有数据库:3.2 选项[OPTIONS]说明:--all-databases , -A导出全部数据库。

Mysql导入导出工具Mysqldump和Source命令用法详解

Mysql导入导出工具Mysqldump和Source命令用法详解

Mysql导⼊导出⼯具Mysqldump和Source命令⽤法详解在PHP⽹站开发中,时常遇到Mysql数据库备份或数据库迁移⼯作,这时Mysql怎么导⼊导出数据库中的数据就⾮常关键,Mysql本⾝提供了命令⾏导出⼯具Mysqldump和Mysql Source导⼊命令进⾏SQL数据导⼊导出⼯作,通过Mysql命令⾏导出⼯具Mysqldump命令能够将Mysql数据导出为⽂本格式(txt)的SQL⽂件,通过Mysql Source命令能够将SQL⽂件导⼊Mysql 数据库中,下⾯通过Mysql导⼊导出SQL实例详解Mysqldump和Source命令的⽤法。

Mysql命令⾏导出⼯具Mysqldump命令详解 Mysql命令⾏导出⼯具Mysqldump.exe默认存放在Mysql安装⽬录中的bin⼦⽬录下,在使⽤Mysqldump导出数据库时,⾸先请确保Mysql服务已启动。

Mysqldump导出命令基础⽤法复制代码代码如下:mysqldump -u ⽤户名 -p [--opt] DATABASENAME [Table] >导出SQL⽂件名默认Mysqldump导出的SQL⽂件中不但包含了导出的数据,还包括导出数据库中所有数据表的结构信息。

另外使⽤Mysqldump导出的SQL⽂件如果不带绝对路径,默认是保存在bin⽬录下的。

–opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使⽤Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数。

–quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL⽂件。

–add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防⽌数据表重名。

数据库原理及应用(MySQL版) 实验教案 第7次课(上机)数据库的备份与恢复

数据库原理及应用(MySQL版) 实验教案 第7次课(上机)数据库的备份与恢复
数案首页
(以
课 序
授课日期
授课班次
授课教师
批准人
7
课题
实验七数据库的备份与复
目的要求
1.了解备份和恢复的基本概念。
2.掌握使用MySQL命令进行数据库备份的操作方法。
3.掌握使用MySQL命令进行数据库恢复的操作方法。
教学内容
LMySQL命令进行数据库备份的操作。
2. MySQL命令进行数据库恢复的操作。
8.删除数据库Studentl的curriculum表中全部记录。
使用LoAD DATA INFILE语句将c.txt文件中的数据导入到Studentl的curriculum表中。
9.使用二进制日志恢复数据库。
(1)完全备份数据库。使用mysqldump命令备份所有数据库到D:\ft\J all_db.sqL (2)册IJ除Studentsdb数据库SludentJnfo表的所有记录。
2.在MySQL服务器上创建数据库StUdentl,使用mysql命令将备份文件a∏jables.sql恢复到数据库student 1中。
3.使用mysqldumρ命令备份数据库Studentsdb的所有表,存于D:\下,文件名 为s_c.sqL
4.在MySQL服务器上创建数据库SUIdent2,使用mysql命令将备份文件s.c.sql恢复到数据库sludent2中。
重点难点
备份及恢复操作
教学方法
手 段
教学方法:实验教学法
手 段:机器演示
教学步骤
1.内容讲解
2.上机练习
3.针对问题进一步讲解
复习
提问题
作业题目
完成实验指导书中要求的上机作业
预习内容
课时分配(以分钟计算)

使用MySQL进行数据备份和还原的步骤

使用MySQL进行数据备份和还原的步骤

使用MySQL进行数据备份和还原的步骤一、引言在数据管理和数据库运维过程中,数据备份和还原是非常重要的环节。

无论是因为人为操作失误、系统故障还是其他原因导致的数据丢失,都可能给企业和个人带来巨大的损失。

而MySQL作为一种常用的关系型数据库管理系统,提供了方便可靠的数据备份和还原功能。

本文将介绍使用MySQL进行数据备份和还原的步骤,帮助读者有效保护和恢复自己的数据。

二、数据备份1. 使用mysqldump命令备份数据库mysqldump是MySQL自带的一个命令行工具,可以将数据库的结构和数据导出为一个SQL脚本,从而实现数据备份。

以下是使用mysqldump进行数据备份的步骤:(1)打开命令行终端,并进入MySQL的安装目录。

(2)输入以下命令进行数据备份:mysqldump -u [用户名] -p [密码] [数据库名称] > [备份文件路径]示例:mysqldump -u root -p123456 mydatabase > /home/backup.sql(3)命令执行成功后,备份文件将被存储在指定的路径中。

2. 使用MySQL Workbench备份数据库MySQL Workbench是MySQL官方提供的一款功能强大的图形化管理工具,其中包含了数据备份的功能。

以下是使用MySQL Workbench进行数据备份的步骤:(1)打开MySQL Workbench,并连接到需要备份的数据库。

(2)选择菜单栏中的“Server”->“Data Export”选项。

(3)在弹出的对话框中选择要备份的数据库以及备份文件的存储路径。

(4)点击“Start Export”按钮,等待备份过程完成。

三、数据还原1. 使用mysql命令还原数据库mysql命令是MySQL自带的命令行工具,可以通过执行SQL脚本将备份的数据还原到数据库中。

以下是使用mysql命令还原数据库的步骤:(1)打开命令行终端,并进入MySQL的安装目录。

数据库常用的备份和恢复方法

数据库常用的备份和恢复方法

数据库常用的备份和恢复方法1. 数据库备份方法:使用数据库管理系统自带的备份工具,比如MySQL的mysqldump 命令、SQL Server的备份与还原工具、Oracle的RMAN等。

2. 备份恢复方法:通过数据库管理系统自带的还原工具进行数据库的恢复操作,还原到备份的状态。

3. 使用备份数据库文件:将数据库文件完整拷贝到另一个地方,以便在需要时进行恢复。

4. 使用数据库复制:通过数据库复制功能实现备份,比如MySQL的主从复制、SQL Server的数据库镜像等。

5. 使用第三方备份工具:如Acronis Backup、Veeam Backup等第三方软件来进行数据库备份。

6. 使用文件系统级别的备份:直接备份数据库所在的文件系统,这种方法需要确保数据库处于非活动状态。

7. 冷备份:在数据库服务未运行的情况下进行备份,确保备份文件的完整性。

8. 热备份:在数据库服务正在运行的情况下进行备份,能够实现数据库的连续性。

9. 定时自动备份:通过定时任务或其他调度工具定期对数据库进行备份,确保备份的及时性。

10. 增量备份:仅备份数据库中发生变化的部分数据,从而减少备份数据的大小和时间。

11. 差异备份:备份数据库自上次完整备份之后发生变化的部分数据,比增量备份更快,但恢复时需要依赖上次的完整备份。

12. 完整备份:备份整个数据库的数据和结构,是最基本的备份方法。

13. 数据库备份到云存储:将数据库备份文件上传至云存储服务,保证备份的安全性和可靠性。

14. 数据库备份加密:对备份文件进行加密,增加备份文件的安全性。

15. 数据库备份压缩:对备份文件进行压缩,减小备份文件的大小,节省存储空间。

16. 数据库备份验证:对备份文件进行验证,确保备份文件的完整性和可恢复性。

17. 数据库备份日志记录:记录备份的相关信息,如备份时间、备份状态、备份文件位置等,便于管理和追踪备份操作。

18. 数据库备份监控:通过监控系统对数据库备份进行实时监控,确保备份的正常进行。

mysql 备份查询语句

mysql 备份查询语句

mysql 备份查询语句MySQL备份是数据库管理中非常重要的一项工作,通过备份可以保证数据的安全性和完整性。

在进行MySQL备份时,可以使用多种查询语句来实现。

下面列举了10个常用的MySQL备份查询语句,帮助你进行数据备份。

1. 备份整个数据库```mysqldump -u username -p password database_name > backup.sql```这个查询语句会将整个数据库备份到一个名为backup.sql的文件中。

2. 备份指定表```mysqldump -u username -p password database_name table_name > backup.sql```这个查询语句会将指定的表备份到一个名为backup.sql的文件中。

3. 备份数据库结构```mysqldump -u username -p password -d database_name > backup.sql```这个查询语句会备份数据库的结构,不包括数据。

4. 备份数据库结构和数据```mysqldump -u username -p password database_name --single-transaction --quick --lock-tables=false > backup.sql```这个查询语句会备份数据库的结构和数据,并使用事务来确保数据的一致性。

5. 备份数据库并压缩```mysqldump -u username -p password database_name | gzip > backup.sql.gz```这个查询语句会将备份文件进行压缩,以减少存储空间的占用。

6. 备份数据库到远程服务器```mysqldump -u username -p password database_name | ssh user@remote_host "cat > backup.sql"```这个查询语句会将备份文件传输到远程服务器上。

MySQL数据库备份与恢复

MySQL数据库备份与恢复

MySQL 数据库备份与恢复MySQL 数据库备份与恢复数据备份介绍在⽣产环境中我们数据库可能会遭遇各种各样的不测从⽽导致数据丢失, ⼤概分为以下⼏种.硬件故障软件故障⾃然灾害⿊客攻击误操作 (占⽐最⼤)须知在⽣产环境中,服务器的硬件坏了可以维修或者换新,软件崩溃可以修复或重新安装, 但是如果数据没了那可就毁了,⽣产环境中最重要的应该就是数据了。

所以, 为了在数据丢失之后能够恢复数据, 我们就需要定期的备份数据。

备份什么⼀般情况下, 我们需要备份的数据分为以下⼏种⼆进制⽇志, InnoDB 事务⽇志代码(存储过程、存储函数、触发器、事件调度器)服务器配置⽂件备份的类型按照备份时数据库的运⾏状态,可以分为三种,分别是:冷备、温备、热备。

、冷备:停库、停服务来备份,即当数据库进⾏备份时, 数据库不能进⾏读写操作, 即数据库要下线。

温备:不停库、不停服务来备份,会(锁表)阻⽌⽤户的写⼊,即当数据库进⾏备份时, 数据库的读操作可以执⾏, 但是不能执⾏写操作 。

热备:不停库、不停服务来备份,也不会(锁表)阻⽌⽤户的写⼊ 即当数据库进⾏备份时, 数据库的读写操作均不是受影响 。

MySQL中进⾏不同类型的备份还要考虑存储引擎是否⽀持?逻辑备份与物理备份按照备份的内容分,可以分为两种,分别是逻辑备份与物理备份1、物理备份:直接将底层物理⽂件备份2、逻辑备份:通过特定的⼯具从数据库中导出sql 语句或者数据,可能会丢失数据精度备份⽅式之全量、差异、增量按照每次备份的数据量,可以分为全量备份、差异备份以及增量备份。

全量备份/完全备份(Full Backup ):备份整个数据集( 即整个数据库 )部分备份:备份部分数据集(例如: 只备份⼀个表的变化)差异备份增量备份# 1、差异备份(Differential Backup )每次备份时,都是基于第⼀次完全备份的内容,只备份有差异的数据(新增的、修改的、删除的),例如第⼀次备份:完全备份第⼆次备份:以当前时间节点的数据为基础,备份与第⼀次备份内容的差异第三次备份:以当前时间节点的数据为基础,备份与第⼀次备份内容的差异第四次备份:以当前时间节点的数据为基础,备份与第⼀次备份内容的差异第五次备份:以当前时间节点的数据为基础,备份与第⼀次备份内容的差异。

命令行备份和还原数据库的命令

命令行备份和还原数据库的命令

命令行备份和还原数据库的命令数据库是应用程序存储和组织数据的重要组成部分。

为了保证数据的安全性和可靠性,定期备份数据库是非常重要的。

同时,当需要将备份数据恢复到原始数据库时,还原数据库也是必不可少的操作。

本文将介绍如何使用命令行来进行数据库备份和还原。

一、备份数据库的命令在命令行中备份数据库的命令可以根据不同的数据库管理系统而有所不同。

下面将以MySQL数据库为例,介绍如何使用命令行来备份数据库。

1. 登录数据库在命令行中输入以下命令,以管理员身份登录MySQL数据库:```mysql -u 用户名 -p```其中,用户名是登录数据库的用户名。

执行该命令后,会提示输入密码。

2. 选择数据库登录成功后,需要选择要备份的数据库。

使用以下命令选择数据库:```use 数据库名;```其中,数据库名是要备份的数据库的名称。

3. 备份数据库选择数据库后,可以使用以下命令来备份数据库:```mysqldump -u 用户名 -p 数据库名 > 备份文件名.sql```其中,用户名是登录数据库的用户名,数据库名是要备份的数据库的名称,备份文件名是保存备份数据的文件名,可以自定义。

执行该命令后,系统会提示输入密码。

输入密码后,系统会自动开始备份数据库,并将备份数据保存到指定的文件中。

二、还原数据库的命令当需要将备份数据恢复到原始数据库时,可以使用以下命令来还原数据库。

1. 登录数据库在命令行中输入以下命令,以管理员身份登录MySQL数据库:```mysql -u 用户名 -p```其中,用户名是登录数据库的用户名。

执行该命令后,会提示输入密码。

2. 创建新的数据库在还原数据库之前,需要先创建一个新的空数据库。

使用以下命令创建新的数据库:```create database 新数据库名;```其中,新数据库名是要创建的新数据库的名称。

3. 还原数据库创建新的数据库后,可以使用以下命令来还原数据库:```mysql -u 用户名 -p 新数据库名 < 备份文件名.sql```其中,用户名是登录数据库的用户名,新数据库名是要还原的数据库的名称,备份文件名是保存备份数据的文件名。

MySQL中的数据恢复和修复工具推荐

MySQL中的数据恢复和修复工具推荐

MySQL中的数据恢复和修复工具推荐MySQL是一种流行的关系型数据库管理系统,广泛应用于各种应用程序中。

然而,数据丢失或损坏是一个常见的问题,可能会导致重大的影响和潜在的业务损失。

幸运的是,MySQL提供了一些数据恢复和修复工具,可以帮助我们快速恢复丢失的数据并修复损坏的数据库。

本文将介绍几个值得推荐的MySQL数据恢复和修复工具。

1. MySQL备份和恢复工具:在数据丢失的情况下,恢复被删除或修改的数据是至关重要的。

MySQL提供了一些备份和恢复工具,可以帮助我们在不丢失数据的情况下恢复数据库。

- mysqldump:这是MySQL的一个常用工具,用于导出数据库的内容到一个文件中。

通过使用mysqldump,我们可以轻松地备份数据库,并在需要时将其恢复到原始状态。

该工具提供了许多选项,可以根据需要进行定制,例如备份整个数据库、特定表或特定数据集。

- MySQL Enterprise Backup:这是MySQL官方提供的一个高级备份和恢复工具。

除了提供mysqldump的基本功能外,MySQL Enterprise Backup还支持增量备份、并行备份等高级功能。

此工具适用于大型数据库,并提供快速、可靠的备份和恢复解决方案。

2. MySQL修复工具:除了数据恢复,修复损坏的数据库也是必要的。

MySQL提供了一些实用的工具来修复和恢复损坏的数据库。

- myisamchk:这是MySQL的一个命令行工具,用于修复和检查MyISAM存储引擎的表。

它可以自动检测损坏的表,并尝试修复它们。

此工具提供了各种选项,可以进行不同级别的修复,例如仅检查和报告问题,或尝试修复损坏的索引。

- innodb_corrupt_table_recovery:这是MySQL官方提供的一个用于恢复InnoDB存储引擎的损坏表的工具。

在损坏的情况下,InnoDB存储引擎会自动关闭受影响的表,并记录相关信息。

此工具可以检查这些信息,并尝试修复损坏的表。

mysql备份与恢复方案

mysql备份与恢复方案

38效劳器备份方案一、MYSQL数据库备份与恢复:数据库本地备份:当数据量少的时候可以在每天凌晨1点-3点进行完全备份,随着数据库的增大,可以2两小时〔根据需求设置时间〕做增量备份与完全备份相结合的备份方式以保证数据的平安.数据库完全备份脚本:1.确定我们备份文件存放的目录这里我把所有备份文件放到/home/mysqlback2.确定需要备份的数据库,这里我们用备份d_test这个数据库来说明.3.确定我们要备份的时间,我们以每天两小时备份一次做说明.#!/bin/sh#shell 脚本页脚内容date2 = 'date +%Y%m%d%H%M%S 、#读取当前的日期时间Y 年m 月d 日H 小时M 分钟S秒date3 = 'date -d -5day +"%Y%m%d"'#读取当天日期之5天前的日期back = /home/mysqlback/$date1# 备份文件存放目录# 判断是不是有文件存放目录如果没有那么新建.if [ ! -d $back ]thenmkdir -p $back fi# 使用mysqldump 命令来备份指定的数据库并且压缩成gz 包.mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/$dbname$date2.sql.gz # 删除指定5天前备份的过期文件以便节省磁盘空间cd /home/mysqlbackrm -rf $date3异地备份首先准备一台异地的效劳器,并且搭建好vsftp 〔vsftp 具体搭建详细步骤请参考VSFTP 搭建文档〕 异地备份到vsftp 效劳器上脚本如下:#!/bin/shecho "start backup"dbuser="root"贝脚内容38 38dbuser="root"dbpasswd="123456"dbname="dtest"date1='date +%Y%m%d' #定义数据库用户名 # 定义数据库密码 # 定义需要备份的数据库 # 读取当前日期dbpasswd="123456" dbname="dtest" date1='date +%Y%m%d' date2=、date+%Y%m%d%H%M%S、 date3='date -d -4day +"%Y%m%d"' back="/home/ftp1/$date1" if [ ! -d $back ] then mkdir -p $back fi mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/2021.sql.gz sleep 5s cd $back ftp <<EOFopen 192.168.16.104user ftp1 1123456binaryput 2021.sql.gzrename 2021.sql.gz $date2.sql.gzclose byeEOF贝脚内容mv 2021.sql.gz $date2.sql.gzcd /home/ftplrm -rf $date3数据库恢复或者重建,由于是完全备份,可以直接恢复最后一次完全备份文件.gunzip 〈备份.sql.gz | mysql -u root -p d_test二.文件备份与恢复:由于文件一般都比拟大,所以我们采用完整与增量结合的方式做备份,每个星期〔时间具体情况而定〕 备份完整备份一次文件,每天做一次增量备份.备份脚本如下 #!/bin/shwenjian="/home/backwenjian 〞backlog="/home/backlog 〞date1='date +%Y%m%d'date2=、date +%Y%m%d%H%M%S 、date3='date -d -14day +"%Y%m%d"'back="/home/beifen/$date1〞 if [ ! -d $back ] thenmkdir -p $back fitar -g $backlog -zcf $back/$date2.tar.gz $wenjian cd /home/beifen rm -rf $date3#shell 脚本贝脚内容I 38#!/bin/sh#判断是不是有文件存放目录如果没有那么新建 if [ ! -d $back ]thenmkdir -p $backfi #用tar 备份指定文件并打包 tar -g $backlog -zcf $back/$date2.tar.gz $wenjian #命令在第一次使用的时候是完整备份,之后使用那么是增量备份#进入备份存放目录删除指定时间目录cd /home/beifenrm -rf $date3如果需要一周备份一次完整备份,我们只需要把记录文件删除或者备份到其他目录或者改名就好下面是 脚本# ! /sbin/shdate='date +%Y%m%d'mv /home/backlog /home/backlog-$date文件恢复:使用tar 解包命令进行解包,恢复顺序为,最后一次完整备份+最后一次完整备份后的一次增量备份贝脚内容wenjian="/home/backwenjianbacklog="/home/backlog"date1='date +%Y%m%d'date2=、date+%Y%m%d%H%M%S 、date3='date -d -14day +"%Y%m%d"back="/home/beifen/$date1"企划编号:克烨O.202112260738#指定需要备份的文件目录 #指定备份时候记录文件 #读取当前日期 #读取当前日期时间 #读取14天前的日期 #指定备份存放的文件目录38+……+最后一次增量备份.脚本运行时间也是备份策略时间:一种系统默认自动执行的目录有一下几个,如果备份策略规律符合下面的策略时间的话,可以把编写的shell脚本放入对应的目录即可,系统会自动运行对应文件,提示:所以的shell脚本要给予执行权限,否那么无法执行./etc/cron.daily/ 每天执行一次/etc/cron.monthly/ 每月执行一次/etc/cron.weekly/ 每周执行一次/etc/cron.hourly/ 每小时执行一次另外我们可以自己定义时间策略规律:可以直接用命令:crontab -e来编辑,这个命令编辑的文件是/var/spool/cron/下面对应的用户cron文件,如果你用的是root用户编辑的,那么你编辑的就是/var/spool/cron/root文件.也可以直接修改/etc/crontab文件.编辑文件格式如下:Minute Hour Day Month Dayofweek Command分钟小时天月每星期那天命令字段的代表的意思:Minute代表每个小时第几分钟执行指定任务Hour代表每天的第几个小时执行指定任务Day代表每月的第几天执行指定的任务Month代表每年的第几个月执行指定任务Dayofweek 代表每周的第几天执行指定任务Command代表指定要执行的程序这些字段除了Command是每次必须指定的以外其他的可以可选,不指定的可以用*代替贝脚内容38下面举例说明:分钟小时天月每星期那天命令10****sh/home/sh/mysql_back.sh指定每小时的第10分钟执行一次sh命令/home/sh/mysql_back.sh 是指定的脚本路径1013***sh/home/sh/mysql_back.sh指定每天13 点第10分钟执行一次sh命令/home/sh/mysql_back.sh 是指定的脚本路径101322**sh/home/sh/mysql_back.sh指定每月22 号13点第10分钟执行一次sh命令/home/sh/mysql_back.sh是指定的脚本路径1013225*sh/home/sh/mysql_back.sh指定每年的5 月22号13点第10分钟执行一次sh命令/home/sh/mysql_back.sh 是指定的脚本路径1013**2sh /home/sh/mysql_back.sh指定每星期二13 点第10分钟执行一次sh命令/home/sh/mysql back.sh是指定的脚本路径〔星期的数字代表分—别为:0星期天1星期一2星期二……6星期六〕*/10****sh /home/sh/mysql_back.sh 指定每10 分钟〔每小时第10 20 30 40 50 60〕执行一次sh命令/home/sh/mysql_back.sh 是指定的脚本路径1013-18***sh /home/sh/mysql_back.sh 指定每天13 点到18点的第10分钟执行一次sh命令/home/sh/mysql_back.sh是指定的脚本路径101322, 2 6**sh /home/sh/mysql_back.sh 指定每月22 号以及26号的13点第10分钟执行一次sh命令/home/sh/mysql_back.sh是指定的脚本路径1013*/22**sh /home/sh/mysql_back.sh 指定每隔22 天13点10分钟执行一次sh命令/home/sh/mysql_back.sh是指定的脚本路径1013***root run-parts /home/sh/ 指定每天13 点第10 分页脚内容企划编号:克烨O.202112260738 钟执行/home/sh/下面的所有可以执行的文件.我们通过上面的举例可以灵活设置出实际需求策略.贝脚内容。

mysql中导入导出数据库(mysqldump和mysql命令、source命令)

mysql中导入导出数据库(mysqldump和mysql命令、source命令)

mysql中导⼊导出数据库(mysqldump和mysql命令、source命令)⼀、导出备份1、mysqldump命令mysqldump是MySQL⾃带的逻辑备份⼯具导出单个数据库mysqldump -h hostname/ip地址 -P 端⼝号 -u mysql⽤户名 -p mysql密码 --databases 数据库名s > /路径/⽣成的⽂件名.sql1.1、导出表1.1 .1 导出表结构及数据mysqldump -u root -p --set-gtid-purged=OFF database table1 table2 > mysqldump.sql--set-gtid-purged=off : 加了--set-gtid-purged=OFF时,会记录binlog⽇志;如果不加,不记录binlog⽇志。

所以在我们做主从⽤了gtid时,⽤mysqldump备份时就要加--set-gtid-purged=OFF,否则你在主上导⼊恢复了数据,主没有了binlog⽇志,同步则不会被同步。

1.1.2 只导出表结构mysqldump -u root -p --set-gtid-purged=OFF -d database table1 table2 > mysqldump.sql-d参数:等价于-–no-data,含义是不导出任何数据,只导出数据库表结构;1.1.3 只导出数据mysqldump -u root -p --set-gtid-purged=OFF -t database table1 table2 > mysqldump.sql-t参数:等价于—no-create-info,含义是只导出数据,⽽不添加CREATE TABLE语句;1.1.4 导出单张表(1)导出表结构及数据(有where条件)mysqldump -u root -p --set-gtid-purged=OFF database table --where "限制条件" > mysqldump.sql(2)只导出数据(有where条件)mysqldump -u root -p --set-gtid-purged=OFF --no-create-info database table --where "限制条件" > mysqldump.sql1.2、导出数据库1.2.1 导出所有数据库mysqldump -u root -p --all-databases > mysqldump.sql1.2.2 导出单个数据库mysqldump -u root -p --databases db1 > mysqldump.sql1.2.3 导出多个数据库mysqldump -u root -p --databases db1 db2 > mysqldump.sqlmysql -h ip地址 -P 端⼝ -u mysql⽤户名 -p mysql密码要导⼊到的数据库名< ./⽂件名 .sql⼆、导⼊1、mysql命令1.1、导⼊表mysql -u root -p database < mysqldump.sql1.2、导⼊数据库mysql -u root -p < mysqldump.sql参考:2、source命令进⼊mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使⽤source命令,后⾯参数为脚本⽂件(如这⾥⽤到的.sql) mysql>source d:/dbname.sql。

mysqldump的用法

mysqldump的用法

mysqldump的⽤法1、mysqldump 是⽂本备份还是⼆进制备份它是⽂本备份,如果你打开备份⽂件你将看到所有的语句,可以⽤于重新创建表和对象。

它也有 insert 语句来使⽤数据构成表。

mysqldump可产⽣两种类型的输出⽂件,取决于是否选⽤- -tab=dir_name选项。

l 不使⽤- -tab=dir_name选项,mysqldump产⽣的数据⽂件是纯⽂本的SQL⽂件,⼜CREATE(数据库、表、存储路径等)语句和INSERT(记录)语句组成。

输出结果以⼀个⽂件保存,可以⽤mysql命令去恢复备份⽂件。

l 使⽤- -tab=dir_name选项,mysqldump对于每⼀个需备份的数据表产⽣两个输出⽂件:⼀个是带分隔符的⽂本⽂件,备份的数据表中的每⾏存储为⽂本中的⼀⾏,以“表名.txt”保存;另⼀个输出⽂件为数据表的CREATE TABLE语句,以“表名.sql”保存。

2、mysqldump 的语法是什么?mysqldump -u [uname] -p[pass] –databases [dbname][dbname2] > [backupfile.sql]3、使⽤ mysqldump 怎样备份所有数据库?mysqldump -u root -p –all-databases > backupfile.sql5、使⽤ mysqldump 怎样备份指定的数据库?mysqldump -u root -p –databases school hospital > backupfile.sql6、使⽤ mysqldump 怎样备份指定的表?mysqldump –user=root –password=mypassword -h localhost databasename table_name_to_dump table_name_to_dump_2 > dump_only_two_tables_file.sql7、我不想要数据,怎样仅获取 DDL?mysqldump -u root -p –all-databases –no-data > backupfile.sql8、⼀次 mysqldump 备份花费多长时间?这依赖于数据库⼤⼩,100 GB ⼤⼩的数据库可能花费两⼩时或更长时间9、怎样备份位于其他服务器的远程数据库?mysqldump -h 172.16.25.126 -u root -ppass dbname > dbname.sql10、–routines 选项的含义是什么?通过使⽤ -routines 产⽣的输出包含 CREATE PROCEDURE 和 CREATE FUNCTION 语句⽤于重新创建 routines。

MySQL中的数据库重建和迁移技巧

MySQL中的数据库重建和迁移技巧

MySQL中的数据库重建和迁移技巧在数据库管理和开发中,数据库的重建和迁移是非常常见且必要的操作。

无论是为了优化性能、修复损坏的数据还是迁移到其他环境,掌握MySQL中的数据库重建和迁移技巧对于数据库管理员和开发人员来说都是必备的技能。

本文将介绍一些关键的技巧和注意事项,帮助读者更好地进行MySQL数据库的重建和迁移。

一、备份与恢复数据在进行数据库重建和迁移之前,备份数据是至关重要的一步。

无论是通过物理备份还是逻辑备份,都可以保证在出现问题时能够快速恢复数据。

物理备份是指直接复制数据库文件(如.ibd和.frm文件)。

这种备份方法可以很快速地备份和恢复大量数据,但需要停机来保证数据的一致性。

逻辑备份是指使用SQL语句导出数据,如使用mysqldump命令。

这种备份方法相对较慢,但可以在数据库运行时进行备份,并且备份的文件可以跨平台使用。

在进行数据恢复时,根据备份的方式选择相应的恢复方法。

如果是物理备份,可以通过将备份文件复制到新的数据库服务器上来完成数据恢复。

如果是逻辑备份,则可以使用相应的导入命令将备份文件导入到新的数据库中。

二、数据库结构重建数据库结构的重建可以主要通过导出和导入数据库的结构进行。

使用MySQL的SHOW CREATE TABLE语句可以查看指定表的创建语句并导出。

例如,对于表"users",可以使用以下命令导出其创建语句:SHOW CREATE TABLE users;然后将导出的语句保存为.sql文件,以便在需要时进行导入。

对于整个数据库的结构重建,可以通过将所有表的创建语句导出并保存到一个.sql文件中,然后使用以下命令将其导入到新的数据库中:source /path/to/your/sql/file.sql;此外,还可以通过使用mysqldump命令导出整个数据库的结构,然后使用mysql命令导入到新的数据库中。

三、数据迁移在进行数据库迁移时,需要考虑到数据的一致性和完整性。

mysql备份还原

mysql备份还原

这段时间一直在搞Mysql服务器,从12月8号一直搞到今天11号,遇到的一系列自我07年用php以来从未遇到过的很多很多棘手问题,自然用到的备份和还原次数相当多,我觉得还是很有必要总结一下经验。

主要还是使用了mysqldump工具和source命令操作。

备份数据库:命令格式如下:mysqldump -u 用户名 -p 数据库名>导出的文件名在运行中cmd,cd\进入C:根目录,也可直接运行命令1、cd C:\Program Files\MySQL\MySQL Server 5.0\binC:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump -u root -p windbook>back.sql输入密码后,无提示则备份成功。

这种备份,back.sql文件默认保存在C:\Program Files\MySQL\MySQL Server 5.0\bin目录下2、C:\>mysqldump -u root -p windbook>back.sql输入密码后,无提示则备份成功。

这种备份,back.sql文件默认保存在C:根目录下注意:命令后面不加分号";",否则出错,我在操作过程中习惯性的误输入过,所以备份不成功,且不是进入mysql数据库控制台,希望大家注意这点细节。

效果参考:3、设定备份路径C:\>mysqldump -u root -p windbook>d:back.sql或C:\>mysqldump -u root -p windbook>d:/back.sql效果参考:还原数据库命令格式如下:常用source 命令进入mysql数据库控制台,mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:windbook.sql (注:如果写成source d:\windbook.sql,就会报语法错误)远程备份mysql数据库1、导出整个数据库mysqldump -u 用户名 -p 数据库名 > 存放位置比如:mysqldump -u root -p project > c:\a.sql(导出project数据库已经经过亲自测试,成功!)2.导出一个表的结构,并且带表中的数据mysqldump -u 用户名 -p 数据库名表名 > 导出的文件名mysqldump -u root -p project position > c:\a.sql(测试,成功!)只导出表结构,不带表中的数据:mysqldump -d -u root -p project position > c:\a.sql(测试,成功!)3.导出一个数据库结构mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc>d:wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table4.导入数据库常用source 命令进入mysql数据库控制台,d:\program files\mysql\mysql server 5.1\bin >mysql -u root -pd:\program files\mysql\mysql server 5.1\bin >mysql>use '数据库'然后使用source命令,后面参数为脚本文件(如这里用到的.sql)d:\program files\mysql\mysql server 5.1\bin >mysql>source d:wcnc_db.sql5.远程导出数据库命令如下:mysqldump -h 192.168.11.210 -u root -p test>c:\test.sqlMYSQL数据库的备份与恢复数据库及相关 2007-12-03 18:01:45 阅读142 评论1 字号:大中小订阅目前上线运行的一个项目数据库用到MYSQL,已经正式上线运行1年了,最近偶然的不小心删除了一个1G的数据表,很郁闷。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p dataname users> dataname_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
-pyour_pass, –password[=your_pass]
与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。
-P port_num, –port=port_num
与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
不写入表创建信息(CREATE TABLE语句)
-d, –no-data
不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!
–opt
同–quick –add-drop-table –add-locks –extended-insert –lock-tables。
应该给你为读入一个MySQL服务器的尽可能最快的导出。
同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
-V, –version
打印版本信息并且退出。
-w, –where=’where-condition’
只导出被选择了的记录;注意引号是强制的!
“–where=user=’jimf’” “-wuserid>1″ “-wuserid<1″
最常见的mysqldump使用可能制作整个数据库的一个备份:
备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
mysqldump –opt database > backup-file.sql
但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:
mysqldump –opt database | mysql –host=remote-host -C database
由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:
几个常用用例:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p dataname >dataname.sql
这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.
-e, –extended-insert
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)
-#, –debug[=option_string]
跟踪程序的使用(为了调试)。
–help
显示一条帮助消息并且退出。
–fields-terminated-by=…
–fields-enclosed-by=…
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
-u user_name, –user=user_name
与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。
-O var=option, –set-variable var=option
设置一个变量的值。可能的变量被列在下面。
-v, –verbose
冗长模式。打印出程序所做的更多的信息。
system($command);
echo “success”;
************************************************
备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
-q, –quick
不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, –socket=/path/to/socket
与localhost连接时(它是缺省主机)使用的套接字文件。
-T, –tab=path-to-some-directory
–fields-optionally-enclosed-by=…
–fields-escaped-by=…
–fields-terminated-by=…
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。
LOAD –flush-logs
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
mysql>source d:\wcnc_db.sql
mysqldump支持下列选项:
–add-locks
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
–add-drop-table
在每个create语句之前增加一个drop table。
mysql数据库备份及恢复命令mysqldump,source的用法
还原一个数据库:mysql -h localhost -u root -p123456 www
备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql
shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql
就是
shell> mysql 库名 < 文件名
在开始导出前,洗掉在MySQL服务器中的日志文件。
-f, –force,
即使我们在一个表导出期间得到一个SQL错误,继续。
-h, –host=..
从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。
-l, –lock-tables.
为开始导出锁定所有表。
-t, –no-create-info
–allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。
-c, –complete-insert
使用完整的insert语句(用列名字)。
-C, –compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。
–delayed
用INSERT DELAYED命令插入行。
//以下是在程序中进行测试
//$command = “mysqldump –opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile”;
$command=”mysqldump -h localhost -u root -p123456 guestbook > guestbook2-29.sql”;
相关文档
最新文档