Mysql数据备份与恢复命令

转载:原文地址

一、备份常用操作基本命令

1、备份命令mysqldump格式

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql

2、备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump --add-drop-table -uusername -ppassword -database databasename > backupfile.sql

3、直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword -database databasename | gzip > backupfile.sql.gz

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

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

5、同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.

6、仅备份份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

7、备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

8、还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

9、还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

10、将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

11、--master-data 和--single-transaction

在mysqldump中使用--master-data=2,会记录binlog文件和position的信息。--single-transaction会将隔离级别设置成repeatable-commited

12、导入数据库

常用source命令,用use进入到某个数据库,mysql>source d:\test.sql,后面的参数为脚本文件。

13、查看binlog日志

查看binlog日志可用用命令 mysqlbinlog binlog日志名称|more

14、general_log

General_log记录数据库的任何操作,查看general_log 的状态和位置可以用命令show variables like "general_log%",开启generallog可以用命令`set global generallog=on`

二、增量备份

小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份。增量备份的原理就是使用了mysql的binlog志。

1、首先做一次完整备份:

mysqldump -h10.6.208.183 -utest2 -p123 -P3310 --single-transaction --master-data=2 test>test.

sql这时候就会得到一个全备文件test.sql

在sql文件中我们会看到: -- CHANGE MASTER TO MASTER_LOG_FILE=‘bin-log.000002‘, MASTER_LOG_POS=107;是指备份后所有的更改将会保存到bin-log.000002二进制文件中。 2、在test库的t_student表中增加两条记录,然后执行flush logs命令。这时将会产生一个新的二进制日志文件bin-log.000003,bin-log.000002则保存了全备过后的所有更改,既增加记录的操作也保存在了bin-log.00002中。

3、再在test库中的a表中增加两条记录,然后误删除tstudent表和a表。a中增加记录的操作和删除表a和tstudent的操作都记录在bin-log.000003中。

三、恢复

1、首先导入全备数据

mysql -h10.6.208.183 -utest2 -p123 -P3310 < test.sql,也可以直接在mysql命令行下面用source导入

2、恢复bin-log.000002

mysqlbinlog bin-log.000002 |mysql -h10.6.208.183 -utest2 -p123 -P3310

3、恢复部分 bin-log.000003

在general_log中找到误删除的时间点,然后更加对应的时间点到bin-log.000003中找到相应的position点,需要恢复到误删除的前面一个position点。

可以用如下参数来控制binlog的区间

--start-position 开始点 --stop-position 结束点

--start-date 开始时间 --stop-date 结束时间

找到恢复点后,既可以开始恢复。

mysqlbinlog mysql-bin.000003 --stop-position=208 |mysql -h10.6.208.183 -utest2 -p123 -P3310

时间: 2024-11-12 06:12:35

Mysql数据备份与恢复命令的相关文章

DBA成长之路---mysql数据备份与恢复

数据备份与恢复 备份方式: 物理备份:直接拷贝备份库和表对应的文件 cp -r /var/lib/mysql/mysql  /mysql.bak tar -zcvf /mysql.tar.gz  /varlib/mysql/mysql/* 逻辑备份:执行备份时,根据已有的库和表生成对应的sql命令,把生成的sql命令存储到指定的备份文件里 备份策略: 完全备份: 备份所有数据(表,库,服务器) 差异备份:备份自完全备份后所新产生(备份新产生的数据) 增量备份:备份自上一次备份后,所有新产生(备份

【整 1.2.3】 MySQL数据库备份与恢复命令实战

[备份单个数据库 - 多种参数] 语法: mysqldump -u 用户名 -p 数据库名 > 备份的文件名 [查看数据库的字符集] mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name            | Value                              

MySQL 数据备份与恢复

mysqldump 数据备份与恢复 mysqlbinlog 数据增量恢复

MySQL数据备份与恢复

**无论备份还是恢复,都要验证用户及权限** 一.数据备份 1.数据备份的备份方式   物理备份:cp.tar.tar+gzip  -> 兼容性差,目标地址空间大,耗时 系统自带物理备份工具mysqlhotcopy --> 备份时锁表 逻辑备份:备份产生数据的SQL语句  -> 兼容性好,占用空间小 系统自带完整备份工具Mysqldump(MySQL-client包产生) --> 备份时锁表 2.数据备份的备份策略   完整备份: 完全备份,把数据库服务器上的所有库所有表全部备份

十三、MySQL数据备份与恢复

13.1.数据备份 数据备份:目的用于恢复:必须对备份数据做恢复测试. 备份类型: 热备份:在线备份,读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 物理备份和逻辑备份: 物理备份:复制数据文件:速度快 逻辑备份:将数据导出至文本文件中:速度慢.丢失浮点数精度,需要重建索引:方便使用文本处理工具直接对其处理.可移植能力强. 完全备份.增量备份和差异备份: 完全备份:备份全部数据: 差异备份:仅备份上次完全备份以来变化的数据: 增量备份:仅备份上次完全备份或增量

Redis 数据备份与恢复命令

Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 redis 127.0.0.1:6379> SAVE  OK 该命令将在 redis 安装目录中创建dump.rdb文件. 恢复数据 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可.获取 redis 目录可以使用 CONFIG 命令,如下所示: redis 127.0.0.1:637

MySQL数据常用命令

1.显示表编码: 语法:show create table 表名; 下面测试个表名t1. > show create table t1; 可以看到这个表的编码是utf8mb4 2.列出当前数据库中所有表. > show tables; 3.列出当前数据库. > show databases; 参考: http://www.splaybow.com/post/mysql-view-table-charset.html

CentOS 6.5 MySQL/MariaDB数据备份与恢复备份详解

MySQL/MariaDB数据备份与恢复备份 数据对我们来说再重要不过了,那我们如何做到对数据尽可能的安全呢,当我们的数据丢失了那又该怎么做呢,所以说数据备份对我们的数据安全性来说太重要了. 数据对我们来说再熟悉不过了,也最平常不过了,我们每天都在接触各色各样的数据,数据记录了我们平常相关的业务信息,所以数据对于我们来说是很重要的,这么重要的数据如果我们的数据丢失了那我们是不是相关的业务都没法进行了呢,这应该是个很麻烦的问题,那我们怎么保护我们的数据的安全呢,这就要用到我们的数据备份了. 如何执

mysql数据的备份与恢复 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;

在科技迅速发展的今天,我们每个人都生活在大数据时代,谁掌握的数据越多,就越能了解消费者的需求,也就更能拥有更好的发展前景,因此数据变得很重要.这时数据的备份就不可缺少了.今天我们就来谈一下mysql数据的备份与恢复. 数据备份按业务划分可分为:完全备份,增量备份,差异备份. 1. 完全备份(Full Backup) 所谓全备份就是对整个数据库的数据和数据结构进行备份.这种备份方式的好处就是很直观,容易被人理解.而且当发生数据丢失的灾难时,只要用灾难之前的备份文件,就可以恢复丢失的数据.然而它也有