一、mysqldump的工作原理、

利用mysqldump命令备份数据的过程,实际上就是把数据从mysql库以逻辑的sql语句的形式直接输出或生成备份的文件的过程

利用这个备份文件恢复的时候的原理?就是把备份的sql命令再执行一遍。

二、备份多个库

mysql>show databases;+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| oldboy |

| oldboy_gbk |

| oldboy_utf8 |

| performance_schema |

+--------------------+

6 rows in set (0.00sec)

mysql>quit

Bye

[root@localhost~]# mysqldump -uroot -pdubin -B oldboy oldboy_gbk|gzip >/opt/all_bak.sql.gz

[root@localhost~]# ls -l /opt/all_bak.sql.gz-rw-r--r--. 1 root root 1374 9月 21 11:50 /opt/all_bak.sql.gz

[root@localhost~]#

三、如何做分库备份?

分库备份实际上就是执行一个备份语句备份一个库,如果数据库里有多个库,就执行多条相同的备份单个库的备份语句就可以备份多个库了,注意每个库都可以用对应备份的库作为库名,结尾加 .sql。备份多个库的命令如下:

mysqldump -uroot -pdubin -B oldboy ……

mysqldump-uroot -pdubin -B oldboy_gbk ……

分库备份过程

[root@localhost ~]# mysql -uroot -pdubin -e "show databases;"

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| oldboy |

| oldboy_gbk |

| oldboy_utf8 |

| performance_schema |

+--------------------+[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"mysql

oldboy

oldboy_gbk

oldboy_utf8

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^#mysqldump -uroot -pdubin -B #g'mysqldump-uroot -pdubin -B mysql

mysqldump-uroot -pdubin -B oldboy

mysqldump-uroot -pdubin -B oldboy_gbk

mysqldump-uroot -pdubin -B oldboy_utf8

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1 >/opt/\1.sql#g'sed:-e 表达式 #1,字符 59:“s”命令的RHS非法引用\1[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1 >/opt/\1.sql#g'mysqldump-uroot -pdubin -B mysql >/opt/mysql.sql

mysqldump-uroot -pdubin -B oldboy >/opt/oldboy.sql

mysqldump-uroot -pdubin -B oldboy_gbk >/opt/oldboy_gbk.sql

mysqldump-uroot -pdubin -B oldboy_utf8 >/opt/oldboy_utf8.sql

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1|gzip >/opt/\1.sql.gz#g'mysqldump-uroot -pdubin -B mysql|gzip >/opt/mysql.sql.gz

mysqldump-uroot -pdubin -B oldboy|gzip >/opt/oldboy.sql.gz

mysqldump-uroot -pdubin -B oldboy_gbk|gzip >/opt/oldboy_gbk.sql.gz

mysqldump-uroot -pdubin -B oldboy_utf8|gzip >/opt/oldboy_utf8.sql.gz

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1|gzip >/opt/\1.sql.gz#g'|bash-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

[root@localhost~]# ll /opt/总用量196

-rw-r--r--. 1 root root 1374 9月 21 11:50all_bak.sql.gz-rw-r--r--. 1 root root 2371 9月 21 08:45mysql_bak_B_compact.sql-rw-r--r--. 1 root root 4651 9月 21 08:45mysql_bak_B.sql-rw-r--r--. 1 root root 4508 9月 21 08:43mysql_bak.sql-rw-r--r--. 1 root root 1355 9月 21 08:47mysql_bak.sql.gz-rw-r-----. 1 root root 498 9月 20 22:17 mysqlbin_oldboy.000001

-rw-r--r--. 1 root root 144535 9月 21 12:01mysql.sql.gz-rw-r--r--. 1 root root 203 9月 20 08:46oldboy_bak1.sql-rw-r--r--. 1 root root 2826 9月 20 08:46oldboy_bak.sql-rw-r--r--. 1 root root 512 9月 21 12:01oldboy_gbk.sql.gz-rw-r--r--. 1 root root 1354 9月 21 12:01oldboy.sql.gz-rw-r--r--. 1 root root 512 9月 21 12:01oldboy_utf8.sql.gz

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin --event -B \1|gzip >/opt/\1.sql.gz#g'|bash

[root@localhost~]# mkdir /opt/bak

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin --event -B \1|gzip >/opt/bak/\1.sql.gz#g'|bash

[root@localhost~]# ll /opt/bak

总用量156

-rw-r--r--. 1 root root 144570 9月 21 12:03mysql.sql.gz-rw-r--r--. 1 root root 534 9月 21 12:03oldboy_gbk.sql.gz-rw-r--r--. 1 root root 1371 9月 21 12:03oldboy.sql.gz-rw-r--r--. 1 root root 533 9月 21 12:03oldboy_utf8.sql.gz

[root@localhost~]#

mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin --event -B \1|gzip >/opt/bak/\1.sql.gz#g'|bash

分库备份的意义何在?

有时一个企业的数据库里会有多个库,例如(www,bbs,blog),但是出问题时候的很可能是一个库,如果在备份时把所有的库都备份成一个数据文件的话,恢复某一个库的数据时就比较麻烦了。

shell脚本实现分表分库备份的脚本

[root@localhost ~]# vi fenku.shfor dbname in `mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"`domysqldump-uroot -pdubin --event -B $dbname|gzip >/opt/bak/${dbname}.sql.gz

done

root@localhost ~]# rm -f /opt/bak/*[root@localhost ~]# sh fenku.sh

[root@localhost ~]# ll /opt/bak

总用量 156

-rw-r--r--. 1 root root 144569 9月 21 12:12 mysql.sql.gz

-rw-r--r--. 1 root root 534 9月 21 12:12 oldboy_gbk.sql.gz

-rw-r--r--. 1 root root 1370 9月 21 12:12 oldboy.sql.gz

-rw-r--r--. 1 root root 533 9月 21 12:12 oldboy_utf8.sql.gz

[root@localhost ~]#

mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库相关推荐

  1. mysql 主从 仅备份从库_MySQL主从复制 - 从数据库备份数据库

    一.使用mysql的mysqldump命令来实现数据库备份 确保从数据库账号有读权限 mysql> grant select on xxx.* to 'xxx'@'%'; flush privi ...

  2. mysql第五章事务_mysql 第五章 备份恢复

    mysql 第五章 备份恢复 一.备份策略***** 1.每周一次全备,每天一次增量备 2.每天检查备份是否成功 3.每季度进行备份恢复演练 4.设置 -master-data=2 (记录备份的GTI ...

  3. mysql还原数据库名一样_MySQL数据库的多种备份与多种还原

    一.备份 1.mysqldump 方法备份 mysqldump备份很简单,格式如下: mysqldump -u用户名 -p密码 数据库名> XX.sql 路径 例如: mysqldump -ur ...

  4. mysql命令行如何建库_MySQL心得2--命令行方式建库和表

    1.创建使用create database或create schema命令可以创建数据库.create database 库名create database if not exists 库名(创建库并 ...

  5. mysql客户端新建一个表_MySQL 建库、建用户及建表事项

    1,MySQL建库语句比较简单,一句话: 1 create database tppamltest3 2,创建用户及授权: 1 insert into mysql.user(Host,User,Pas ...

  6. mysql 跳过一个事物_MySQL基于GTID的数据恢复

    大家好,我是anyux.本文介绍MySQL基于GTID的数据恢复. 文末总结基于GTID的数据恢复,并有导图 创建一个数据库 gtid,在gtid库下创建表tmp,插入5行数据 create data ...

  7. mysql如何进行视图恢复_mysql事务 视图 索引 备份和恢复

    事务 1.事务: 概念:是作为单个逻辑工作单元执行的一系列操作 多个操作作为一个整体向系统提交,要么都执行,要么都不执行 事务是一个不可分割的工作逻辑单元 默认情况下 , 每条单独的SQL语句视为一个 ...

  8. mysql控制台增加一个用户_MySQL 纯命令行添加用户

    创建用户: 命令: 1 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username – 你将创建的用户名, host – 指 ...

  9. mysql 跳过一个事物_MYSQL GTID跳过指定事务

    主库删除了ttt表,从库上没有ttt表,出现了报错. [root@mysqlstu2:demo]10:49:52>show slave status\G ******************** ...

最新文章

  1. html根据字段制作曲线图,canvas制作简单的HTML图表,折线或者矩形统计(原创)
  2. 中setting怎么配置_maven的安装与配置(保姆级教学)
  3. 使用Command模式实现撤销机制 (Code Project 精选翻译)
  4. ES6学习(五) -- 箭头函数
  5. Openstack组件部署 — Netwotking service组件介绍与网络基本概念
  6. 使用keepalived监控tomcat 达到双机热备
  7. 美国和中国将成数据中心建设首选之地
  8. pycharm的下载,安装及首次启动
  9. classloader类加载机制
  10. 用枚举法实现工厂模型
  11. P3320 [SDOI2015]寻宝游戏
  12. STM8S(stm8s003F) ADC AIN7的使用
  13. c#堆栈跟踪;c#异常原因查找打印;c#打印错误日志
  14. 果园节水灌溉能否实现远程智能控制
  15. 整型和字符串相互转换
  16. python输出emoji表情符号 学习笔记
  17. Socket套接字通信 TCP UDP详解(网络通信)
  18. edge浏览器ie模式设置方法介绍
  19. FANUC数控机床的维修 从原理开始(二)
  20. 【计算机毕业设计】2.酒店预订管理系统

热门文章

  1. 自定义分页 html,MVC 自定义HtmlHelper帮助类型之分页
  2. cdh集群linux命令,CDH集群中,服务器启动spark2-shell命令行注意事项
  3. 的garch预测_随机森林预测
  4. dbms标识符无效_DBMS中的聚合运算符(分组依据和具有子句)
  5. 线程池是如何重复利用空闲的线程来执行任务的?
  6. 附录:更多字典操作命令
  7. Dynamic_Performance_Tables_not_accessible_问题_解决不能动态统计
  8. bugku web基础$_POST
  9. mysql 导入导出脚本_MySQL导入和导出sql脚本
  10. .Net Core 开发成长路线图