MySql 备份恢复
文章平均质量分 64
MySql 备份恢复
雅冰石
DBA
展开
-
xtrabackup备份报错Found tables with row versions due to INSTANT ADD DROP columns
备份失败,查看日志报错:2024-04-07T03:00:04.420147+08:00 0 [ERROR] [MY-011825] [Xtrabackup] Found tables with row versions due to INSTANT ADD/DROP columns2024-04-07T03:00:04.420242+08:00 0 [ERROR] [MY-011825] [Xtrabackup] This feature is not stable and will cause back转载 2024-04-07 11:11:30 · 432 阅读 · 0 评论 -
mysql远程备份binlog
然后设置每天自动备份的定时任务。原创 2023-08-21 17:47:29 · 297 阅读 · 0 评论 -
阿里云rds mysql利用回收站功能恢复表数据
前提:该实验的前提是回收站的变量已开启:要确保recycle_bin的变量是on。转载 2023-08-10 10:45:12 · 294 阅读 · 0 评论 -
mysql使用xtrabackup方式复制过滤某一个数据库
需求:搭建一个新的从库,只复制过滤源端数据库里的其中一个数据库workflow到新实例上。原创 2023-05-15 23:11:28 · 557 阅读 · 0 评论 -
安装与配置binlog2sql以恢复mysql数据
利用binlog2sql恢复mysql数据原创 2023-03-14 17:43:57 · 1011 阅读 · 0 评论 -
MYSQL导入数据特慢解决办法
一 问题描述用主库的mysqldump备份往从库上导数据时特慢,用了一晚上都没导完,还只导入了500M数据,无语了……二 解决办法修改以下两个参数,然后重新导入,只用了半小时。set global innodb_flush_log_at_trx_commit=0;set global sync_binlog=0;导完之后,再改回原来的值1即可。...原创 2020-09-08 14:03:37 · 1196 阅读 · 1 评论 -
mysql 如何远程实时备份binlog日志
转原文地址:https://www.cnblogs.com/ivictor/p/5502240.html以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中。但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的binlog就丢失了。而且,以前用脚本对远程服务器进行备份的方式,有个缺点:无法对MySQL...转载 2020-03-21 20:20:29 · 1526 阅读 · 0 评论 -
mysql恢复误删除的表(drop table)
一 试验介绍备份策略:使用xtrabackup做全量备份生产服务器:192.168.1.202恢复服务器:192.168.1.203想要恢复生产最近被drop的表dba.t4二 试验步骤2.1 找到drop table所在binlog根据用户反馈的故障时间点及相关人员误操作的时间点,确定有可能包含drop 该table的binlog。这里定位到了三个binlog:...原创 2020-03-21 12:34:01 · 9844 阅读 · 0 评论 -
利用Percona Xtrbackup做增量备份以及实现完全恢复
该部分介绍了怎样做增量备份及如何利用全量备份,增量备份,binlog进行完全恢复。增量备份只影响xtradb和innodb表,其他引擎将会复制所有数据。这里计划做一次全量备份,三次增量备份。后两次的增量备份都基于上次的增量备份。一 增量备份与恢复1.1 备份1.1.1 全量备份增量备份基于全量备份,所以需要先创建一个全量备份。全量备份命令示例:innobackupe...原创 2020-03-18 21:08:12 · 455 阅读 · 0 评论 -
利用 Percona xtrbackup+binlog做完全恢复
本文介绍了怎样用percona xtrabackup做全量备份及如何利用全量备份(不用增量备份)加binlog做完全恢复(将数据恢复到故障时刻)。一 试验步骤1.1 备份#对数据库做备份innobackupex --port=3307 --user=XtrabackupUser --password=123456 /download/bak/xtrbak/备份完成后,会提示…...原创 2020-03-17 17:58:39 · 437 阅读 · 0 评论 -
mysqlbinlog 恢复数据没生效
前言:上次有个有个朋友恢复 MySQL 数据,一直恢复不成功,也没有报错信息,使用的环境是 MySQL 5.7 使用了 GTID 以及 binlog 格式为 ROW。现在我主要总结下没有恢复成功可能的原因以及解决方法。1.不要使用 base64-output=decode-rows 参数--base64-output=decode-rows主要是解析 ROW 级别 binlog 日志时使...转载 2020-03-17 17:29:54 · 3265 阅读 · 0 评论 -
mysql mysqldump只导出表结构或只导出数据的实现方法
mysql mysqldump 只导出表结构 不导出数据mysqldump --opt -d 数据库名 -u root -p > xxx.sql备份数据库 #mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysqldump -d -A --add-drop-table -转载 2015-08-03 16:23:48 · 4720 阅读 · 0 评论 -
Mysqldump参数大全
Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数参数说明--all-databases , -A导出全部数据库。mysqldump -uroot -p --all-databases--all-tablespaces , -Y导出全部表空间。mysqldump -uroot -p --all-datab转载 2016-08-24 14:50:16 · 538 阅读 · 0 评论 -
备份mysql所有数据库的每个表的shell脚本
使用use db_name;show tables 获得所有表。脚本针对MySQL5以上版本,mysql4以下未测试,mysqldump 参数可能有变。备份表的路径:/backup_mysql/当天日期/数据名 这个目录中。#!/bin/bash MYUSER="root" MYPASS="123456" HOST="localhost" BACKUPDIR="/bac转载 2016-12-06 10:44:09 · 2633 阅读 · 0 评论 -
MySQL备份时排除指定数据库
使用mysqldump命令备份时候,--all-databases 可以备份所有的数据库。 使用ignore-table 还可以排除制定的表。但是,mysqldump没有参数可以排除数据库的。要备份的数据库少的时候,可以通过mysqldump -uroot -p123456 --databases db1 db2 db3 > mysqldump.sql 这样来备份。但是假如数据库有数十个的转载 2016-12-06 15:02:28 · 4838 阅读 · 0 评论 -
ERROR 1142 (42000) at line 6688: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for t
[root@slave2 bak]# mysql -u root -psystem@123 Warning: Using a password on the command line interface can be insecure.ERROR 1142 (42000) at line 6688: SELECT, LOCK TABLES command denied to user 'r原创 2016-12-06 15:57:34 · 4205 阅读 · 0 评论 -
- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
[root@localhost ~]# mysqldump --all-databases --single-transaction --master-data=1 --flush-logs --result-file=dump.sql -S /tmp/mysql3306.sock-- Warning: Skipping the data of table MySQL.event. Spec转载 2016-11-26 15:16:26 · 3313 阅读 · 0 评论 -
mysql中用HEX和UNHEX函数处理二进制数据的导入导出
在一次mysql的数据备份恢复的操作中,碰到一个问题:在使用sqlyog进行数据备份后,然后将数据在另外一个服务器上进行恢复,由于其中一个表中有varbinary字段,导致“’”分隔符被吞噬(由于二进制编码的问题,引号分隔符被当作了数据的一部分),从而使得数据不能被正常导入。采用了一些文本工具进行处理,都没有成功,有的虽然可以识别,但会自动的修改了其中的二进制编码的数据,有的则会插入其他的转载 2016-12-22 13:54:02 · 3531 阅读 · 0 评论 -
MySQL 闪回原理与实战
来源:伯乐在线专栏作者 - 曹单锋如有好文章投稿,请点击 → 这里了解详情如需转载,发送「转载」二字查看说明DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短转载 2017-01-10 15:03:00 · 2256 阅读 · 0 评论 -
在GTID环境中根据主库备份恢复从库
试验环境:主库 192.168.3.202备库 192.168.3.203开启了GTID模式。假如从库和主库差异较大,想要根据主库的备份恢复从库。需要做如下步骤。一 备份主库mysqldump -u root -p --single-transaction --all-databases --master-data=2 > AllDB.bak ...原创 2019-09-28 18:07:11 · 1821 阅读 · 0 评论 -
Got error: 1556: You can't use locks with log tables
原文链接:http://oldboy.blog.51cto.com/2561410/1122867mysql主从同步出现错误解决一例:本文出自老男孩linux运维实战培训内部教案内容整理总结FAQ:问题1:mysqldump: Got error: 1556: You can't use locks with log tables.在老男孩带学生做主从同步实践时,发现学生实转载 2016-04-13 15:45:55 · 4181 阅读 · 0 评论 -
mysql通过物理备份主库方式恢复从库
1 场景描述有一套主从环境,从库和主库差异量比较大。其中一个库大小800G左右,127个表,平均每个表差异100万条数据。试过用pt-table-checksum,pt-table-sync进行同步,但是太慢了,平均同步一个表需要5个小时。因此,打算通过拷贝主库表空间文件,表结构定义文件,日志文件等到从库的方式,使得从库和主库保持一致。2 变更步骤2.1 停止从库原创 2016-07-18 11:06:12 · 4921 阅读 · 0 评论 -
percona-XtraBackup备份恢复
3 XtraBackup使用手册3.1使用innobackupex脚本innobackupex是perl脚本对xtrabackup的封装,和功能扩展。3.1.1备份预备工作权限和连接xtrabackup需要连接到数据库和datadir操作权限。xtrabackup或者innobackupex在使用过程中设计到2类用户权限:1.系统用户,用来调用innob转载 2016-03-02 16:41:10 · 1395 阅读 · 0 评论 -
mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table
备份时报错:mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 解决办法:加上--single-transaction,或者将参数CONFIG_mysql_dump_single_transaction设为'yes'即可。网上关于这个错误的解决方法转载 2016-03-02 13:35:50 · 6625 阅读 · 0 评论 -
Mysql增量备份,完全恢复
一:大体介绍MySQL通过在全备份基础上保证完整的二进制日志文件来达到增量备份的目的。Ø 备份² 开启二进制日志² 全备(可以利用mysqldump)Ø 恢复² 利用全备进行恢复² 利用二进制日志进行恢复二:具体实验步骤2.1:开启二进制日志---- mysql默认没有启二进制日志。vi my.cnf在[mysqld]下添加: log-bin=log原创 2014-09-26 15:13:08 · 1470 阅读 · 0 评论 -
mysql怎样利用对所有数据库进行备份的备份文件只恢复某一个数据库
一:实验介绍我们一般会在备份的时候指定--all-databases来备份所有数据库,利用该备份文件还原的时候默认会还原所有数据库(即使你指定了某一个数据库,如mysql -u root -p 数据库名称 备份文件)。那么,怎样利用对所有数据库进行备份的备份文件只恢复某一个数据库呢?这时需要用到--one-database选项。二:实验步骤1:现有数据mysql> use da原创 2015-03-31 16:03:56 · 6042 阅读 · 1 评论 -
mysql-mysql跨机器数据迁移(命令方式)
一:实验环境 IP操作系统主机名源端192.168.8.226RedHat 4,32位target_pc目标端192.168.8.225RedHat 4,32位source_pc --这里把主机名为targe原创 2015-03-26 09:47:25 · 9999 阅读 · 2 评论 -
backup.sh: line 1: date+%Y%m%d%H: command not found
[root@mmdb script]# sh backup.sh backup.sh: line 1: date+%Y%m%d%H: command not found原创 2014-09-25 11:08:34 · 10199 阅读 · 0 评论 -
用mydump对所有数据库进行备份,还原具体案例
现有的测试数据: 对整个数据库做备份:C:\Users\Administrator>mysqldump -u root -p --all-databases > D:\mysql_bak\201409111654_all_database.bakEnter password: *******删除jiao和dan_test数据库里t表的数据:导入文件进行恢复:原创 2014-09-11 17:06:16 · 2662 阅读 · 0 评论 -
不停止MySQL服务增加从库的两种方式
现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库。前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作。 一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长。另一种是通过xtrabackup工具转载 2016-03-20 16:26:43 · 1730 阅读 · 0 评论 -
mysqldump的single-transaction
先看一下--lock-tables和--lock-all-tables --lock-all-tables一次性锁定所有数据库的所有表,在整个dump期间一直获取global read lock;该选项自动关闭—lock-tables和—single-transaction;--lock-tables以database为单位,dump前锁定其下所有表;如果是转载 2016-04-06 14:57:00 · 7118 阅读 · 0 评论 -
mysqldump怎样导出一个库的多个表
多个表名中间用空格隔开就行。如导出dba库下的表t1和 t2mysqldump -u root -p…… dba t1 t2 > /download/t1_t2.bak原创 2016-04-12 09:04:10 · 7790 阅读 · 0 评论 -
expire_logs_day binlog自动过期清理binlog
expire_logs_day 设置binlog老化日期触发时机是binlog发生切换:binlog大小超过max_binlog_size手动执行flush logs重新启动时(mysql将会new一个新文件用于记录binlog)该参数可以在线修改1234转载 2015-11-10 18:00:03 · 9355 阅读 · 0 评论 -
mysql通过拷贝数据文件的方式进行数据库迁移
--环境windows将源机器A数据库拷贝到目标机器B: 我先在目标机器B上安装mysql,停止mysql服务,然后将源机器A的data下关于数据库的文件和ibdata1拷贝过去,其余不用拷贝如图:源机器A:启动目标数据库服务net start mysql,即可查看到导过来的所有数据库了。 注意:ibdata1一定不要忘记拷贝,且要拷贝到准确的位置(如我原创 2016-05-12 11:30:00 · 17629 阅读 · 0 评论 -
mysqldump导出表的部分数据
mysqldump -uroot -proot -h172.16.18.2 logaudit logaudit_log --where=" id test.sql转载 2016-06-07 12:42:21 · 644 阅读 · 0 评论 -
mysqldumpz怎样导出多条insert语句
默认mysqldump会将多条插入语句导出成一条insert语句格式,如:insert into t values(1),(2);那有时我想生成多条insert语句,如:insert into t values(1);insert into t values(2);这时,在mysqldump时加上参数--skip-extended-insert即可。原创 2016-04-11 09:14:17 · 5388 阅读 · 1 评论 -
Percona Xtrabackup安装
一、Xtrabackup介绍A、Xtrabackup是什么Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDBHotbackup的一个很好的替代品。Xtrabackup有两个主要的工具:xtrabackup、innobackupex1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份原创 2015-11-20 04:05:04 · 8502 阅读 · 1 评论 -
percona xtrabackupd定期做全备,增量备份shell脚本
备份策略:每周日做一全备,每天做一增量备份。一:全备脚本catxtrabackup_full.sh#!/bin/bash local_ip="$(/sbin/ifconfig eth0|grep 'inet addr'|awk -F : '{print $2}'|cut -d ' ' -f1)"email='……'user='root'passwd...原创 2016-03-27 16:13:53 · 6084 阅读 · 0 评论 -
利用Percona xtrabackup恢复误删除数据
在利用Percona xtrabackup做了一个全备及两个增量备份后,一个表的部分数据被误删除了,怎样恢复误删除数据呢?思路:将全备及增量备份,最新的备份后产生的二进制日志全部拷贝到测试环境,在测试环境把删除的数据恢复以后,将误删除数据生成insert语句,在原机器上执行。一:情景模拟现有数据如下:mysql> use dba;Reading table i...原创 2016-03-27 02:36:07 · 1593 阅读 · 0 评论 -
用mysqldump备份还原某个数据库具体案例
现在dan_test数据库下有两条数据此时,备份一下dan_test数据库:C:\Users\Administrator>mysqldump -uroot -p dan_test > D:\mysql_bak\dan_test_bak_20140911Enter password: *******删除这两条数据:恢复这两条数据:C:\Users\Administ原创 2014-09-11 16:27:44 · 1010 阅读 · 0 评论