mysql备份每个库下面每个表

#!/bin/bash
 MYUSER="root"
 MYPASS="123456"
 HOST="localhost"
 BACKUPDIR="/backup_mysql"
 DATE=`date -I`
 RETENTION=20
 #MYSQLDATA="/var/lib/mysql"
 [ ! -d $BACKUPDIR/$DATE ] && mkdir -p $BACKUPDIR/$DATE
 DBS=`mysql -u$MYUSER -p$MYPASS -Bse "show databases"|grep -v "information_schema" |grep -v "test"`
 for db_name in $DBS
   do
     mkdir -p $BACKUPDIR/$DATE/$db_name
     tables=`mysql -u$MYUSER -p$MYPASS -Bse "use $db_name;show tables"`
     for table_name in $tables
       do
     mysqldump -u$MYUSER -p$MYPASS -h$HOST --single-transaction --master-data=2 $db_name $table_name >$BACKUPDIR/$DATE/$db_name/$table_name.sql
     done
  done

时间: 2024-10-10 04:43:05

mysql备份每个库下面每个表的相关文章

[Mysql]备份同库中一张表的历史记录 insert into ..select

需求 如今有个这么一个需求.mysql中有个表.数据增长的非常快.可是呢这个数据有效期也就是1个月,一个月曾经的记录不太重要了,可是又不能删除.为了保证这个表的查询速度,须要一个简单的备份表,把数据倒进去. 代码 于是我写了一个小脚本,用来做定时任务.把这个表某段时间的数据备份到备份表中.核心就是个简单的sql. 原始表radius 备份的表为 radius2015 #!/usr/bin/python2.7 # -*- coding: utf-8 -*- #python2.7x #authror

mysql恢复单库、单表

从全备份中,还原某一个库(假如要还原的库叫做hellodb)内容: # mysqldump -uroot -proot --all-databases --master-data=2 > all.sql # mysql -uroot -proot -e 'create database hellodb;'  还原之前,首先要确保这个库的已经存在了,不然下面的命令会提示失败] # mysql -uroot -proot hellodb --one-database < all.sql   # -

MySQL实例多库某张表数据文件损坏导致xxx库无法访问故障恢复

一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... Connection id: 5 Current database: *** NONE *** Reading table information for completion of table and column names You can turn off this feature to get

Linux命令:MySQL系列之十三--MySQL备份与还原(针对单张表SELECT备份)

对于只备份单张表的备份与还原,通过SELECT命令,可以更快速的达到备份和恢复的目的: 以及通过此方法把一个数据库中表的数据,导入至另一数据库的表中去. 备份格式:SELECT * INTO OUTFILE '/PATH/TO/somefile.txt' FROM table_name [WHERE CLAUSE]; #备份table_name表中的[或者备份满足WHERE语句的数据]数据至服务器上保存. 注释:table_name:需要备份的表  WHERE:满足的条件,可选项. /PATH/

Linux命令:MySQL系列之十二--MySQL备份与还原(针对单张表SELECT备份)

对于只备份单张表的备份与还原,通过SELECT命令,可以更快速的达到备份和恢复的目的: 以及通过此方法把一个数据库中表的数据,导入至另一数据库的表中去. 备份格式:SELECT * INTO OUTFILE '/PATH/TO/somefile.txt' FROM table_name [WHERE CLAUSE]; #备份table_name表中的[或者备份满足WHERE语句的数据]数据至服务器上保存. 注释:table_name:需要备份的表  WHERE:满足的条件,可选项. /PATH/

Linux在mysql中新建库和新建表

创建库: create database test; drop database test; show databases; 创建表: use test; create table tabtest(id int,name nvarchar(255)); insert table tabtest values(1234,'插入内容'):    表中插入内容 drop table tabtest;    删除表 show tables;    查看库中表 select * from tabtest;

mysql 如何将一个库的一个表的数据复制到另一个库中的一个表

insert   库2..表2   select   字段1,字段2   from   库1..表1 where 条件 https://www.cnblogs.com/banruo/archive/2010/09/07/1820285.html 如果 库 中没有这个表 Create table Table2 (Select * from Table1); https://blog.csdn.net/wangluo605/article/details/82289209 原文地址:https://

如何用Percona XtraBackup进行MySQL从库的单表备份和恢复【转】

前提 应该确定采用的是单表一个表空间,否则不支持单表的备份与恢复. 在配置文件里边的mysqld段加上 innodb_file_per_table = 1 环境说明: 主库:192.168.0.1 从库1:192.168.0.2 从库2:192.168.0.3 备份工具 : Percona xtrabackup version 2.4.8 based on MySQL server 5.7.13 Linux (x86_64) (revision id: 97330f7) 在主库上创建chenfe

Mysql性能优化三(分表、增量备份、还原)

对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻辑上可以划分.一个好的划分依据,有利于程序的简单实现,也可以充分利用水平分表的优势.比如系统界面上只提供按月查询的功能,那么把表按月拆分成12个,每个查询只查询一个表就够了.如果非要按照地域来分,即使把表拆的再小,查询还是要联合所有表来查,还不如不拆了.所以一个好的拆分依据是 最重要的.UNION 例: 订单表根据订单产生时间