一、常见备份命令介绍
备份命令 备份速度 恢复速度 介绍 功能 一般用于
cp 物理备份、灵活性低 很弱 少量数据备份
mysqldump 逻辑备份、适用所有存储引擎 一般 中小型数据量备份
xtrabackup 较快 较快 实现innodb热备、对存储引擎有要求 强大 较大规模的备份

热备份指的是当数据库进行备份时, 数据库的读写操作均不是受影响
温备份指的是当数据库进行备份时, 数据库的读操作可以执行,但是不能执行写操作
冷备份指的是当数据库进行备份时, 数据库不能进行读写操作, 即数据库要下线

二、mysqldump备份

2.1、mysqldump命令介绍

[root@]> mysqldump -helpUsage: mysqldump [OPTIONS] database_name [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
1.登录选项:-u user:指定用户-h host:指定主机-p:表示要使用密码-E, --events: 备份事件调度器-R, --routines: 备份存储过程和存储函数
2.备份选项:--all-databases:备份所有数据库--databases db1 db2:备份指定的数据库--single-transaction:对事务引擎执行热备--flush-logs:更新二进制日志文件--master-data=21:每备份一个库就生成一个新的二进制文件(默认)2:只生成一个新的二进制文件--quick:在备份大表时指定该选项
2.2、查看所属数据库、用户的权限

1、查看mysql数据库中的所有用户:

mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

2、查看数据库中具体某个用户的权限:

mysql> show grants for 'user'@'localhost';
或
mysql> select * from mysql.user where user='root'\G;

3、修改用户权限:

mysql> grent all on *.* to `user`@`localhost`;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec).

4、向数据库施加读锁

mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)
三、命令备份示例
**导出命令大全**
#导出education数据库里面的users表的表数据和表结构mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号] 数据库名 表名 >导出的文件名.sqlmysqldump -uroot -h127.0.0.1 -proot -P3306 education users>d:/user.sql
#导出包括系统数据库在内的所有数据库(all.sql默认保存在bin文件夹下面)mysqldump -uroot -proot --all-databases>all.sql
#导出多张表:mysqldump -uroot -proot --databases test --tables t1 t2>two.sql
#只导出表结构不导表数据,添加“-d”命令参数mysqldump -uroot -h127.0.0.1 -proot -P3306 -d education users>d:/user.sql
#只导出表数据不导表结构,添加“-t”命令参数mysqldump -uroot -h127.0.0.1 -proot -P3306 -t education users>d:/user.sql
#只导出test数据库的表结构导出:mysqldump -uroot -proot --no-data --databases test>s1.sql导入:mysql -uroot -proot -h127.0.0.1 -P3306 test<s1.sql**导入命令大全**格式:mysql -h[ip] -P[(大写)端口] -u[用户名] -p[密码]  [数据库名] < d:XX.sql(路径) mysql -uroot -proot -h127.0.0.1 -P3306 education<d:/database.sqlmysql -uroot -proot -h127.0.0.1 -P3306 <d:/all_database.sql
#命令行导入mysql> use test;mysql> source /home/test/database.sql
四、脚本备份示例:
#!/bin/bash
#NAME:数据库备份
#DATE:*/*/*
#USER:***#设置本机数据库登录信息
mysql_user="user"
mysql_password="passwd"
mysql_host="localhost"
mysql_port="3306"
mysql_charset="utf8mb4"
date_time=`date +%Y-%m-%d-%H-%M`#保存目录中的文件个数
count=10
#备份路径
path=/***/#备份数据库sql文件并指定目录
mysqldump --all-databases --single-transaction --flush-logs --master-data=2 -h$mysql_host -u$mysql_user -p$mysql_password > $path_$(date +%Y%m%d_%H:%M).sql
[ $? -eq 0 ] && echo "-----------------数据备份成功_$date_time-----------------" || echo "-----------------数据备份失败-----------------"#找出需要删除的备份
delfile=`ls -l -crt $path/*.sql | awk '{print $9 }' | head -1`
#判断现在的备份数量是否大于阈值
number=`ls -l -crt $path/*.sql | awk '{print $9 }' | wc -l`
if [ $number -gt $count ]
thenrm $delfile  #删除最早生成的备份,只保留count数量的备份#更新删除文件日志echo "-----------------已删除过去备份sql $delfile-----------------"fi

增加定时备份

crontab -e*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----------星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------------月份 (1 - 12)
|    |    +--------------------一个月中的第几天 (1 - 31)
|    +-------------------------小时 (0 - 23)
+------------------------------分钟 (0 - 59)添加定时任务(每天12:50以及23:50执行备份操作)
50 12,23 * * * cd /home/;sh backup.sh >> log.txt

MYSQL数据备份之mysqldump命令详解(附脚本定时备份)相关推荐

  1. 04-mysql数据备份之mysqldump命令详解

    MYSQL数据备份之mysqldump命令详解 一.mysqldump 简介 mysqldump 是 MySQL 自带的逻辑备份工具. 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数 ...

  2. plsql导出表结构_mysqldump命令详解 Part 5-按条件备份表数据

    实验环境: MySQL 5.7.25 Redhat 6.10 前面我们建立了数据库并建立相关的对象 数据库 表 存储过程 函数 触发器 事件 今天的内容为按条件备份表数据 1. 备份语句 我们来备份t ...

  3. MySQL操作mysqldump命令详解

    MySQL操作mysqldump命令详解 基本命令: # 数据库备份-->mysqldump命令默认做锁表操作 mysqldump -uroot -ppassword --all-databas ...

  4. mysql57数据库命令_MySQL 5.7 mysql command line client 使用命令详解

    MySQL 5.7 MySQL command line client 使用命令 1.输入密码:****** 2.ues mysql;使用Mysql 3.show databases;显示数据库 4. ...

  5. linux下mysql数据库基础及客户端命令详解

    linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...

  6. mysql command line client 使用_MySQL 5.7 mysql command line client 使用命令详解

    MySQL 5.7 MySQL command line client 使用命令 1.输入密码:****** 2.ues mysql;使用Mysql 3.show databases;显示数据库 4. ...

  7. MySQL建表(create table)命令详解

    MySQL建表(create table)命令详解 create table命令 强调:使用建表命令之前必须使用use命令选择表所在的数据库.create table命令的格式如下: create t ...

  8. mysql 关键字 status_Mysql show status命令详解

    Mysql show status命令详解 ## 介绍 SHOW STATUS提供服务器的状态信息. ## 命令用法 ```sql mysql> show status; mysql> s ...

  9. linux cpio grub 参数,Linux 备份压缩 : cpio 命令详解

    cpio命令主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件. 语法 cpio(选项) 选项 -0或--null:接受新增列控制字符,通常配合find ...

最新文章

  1. 录播教室预约系统(八)-客户端部门管理员增加教室
  2. 2021年春季学期-信号与系统-第四次作业参考答案-第十一小题
  3. 计院生活--第二章 深入虎穴(下)
  4. MySQL 锁与MVCC :数据库的锁、MVCC、当前读、快照读、锁算法、死锁
  5. MyBatis中多表查询(业务代码方式)
  6. bigdecimal如何做除法_二胎家庭如何平衡两个孩子的关系?聪明的父母都懂这四个法则...
  7. 微软研发致胜策略读书笔记(转)
  8. Stateflow如何观察变量的变化
  9. setTimeOut传参数
  10. 智慧发电厂+智能发电厂web端平台管理系统+Axure高保真智慧电厂系统+能耗管理+告警管理+生产监控+安防设备管理+运维设备管理+监控面板+系统管理+智慧电厂+电厂系统+axure源文件+rp原型
  11. 电脑中毒了怎么办 电脑中病毒的解决方法
  12. bzoj 3671 贪心
  13. 在串口输入input keyevent发送按键值给机器
  14. poj 2777 Count Color 基础线段树,带给的初学者噩梦!!!
  15. Origin安装Could not connect to Internet Origin installation requires an Internet Connection
  16. 拼多多直播不显示服务器,使用电脑端进行拼多多直播的开播教程
  17. 七个习惯之一:积极主动
  18. c语言瑞年条件,C语言如何判断是闰年,闰年判断条件
  19. 数学基础知识02——旋转轴、旋转角度和旋转矩阵
  20. 奈奎斯特采样定理粗略推导

热门文章

  1. 【答读者问47】一场由夏普率引发的乱斗(backtrader和joinquant计算夏普率的方式哪一种更稳定?)
  2. 晶振噪声及杂散_晶振频偏主要受什么影响?
  3. OkHttp使用详解
  4. Visio 画甘特图
  5. html背景图片手机端全屏,css 背景图全屏显示,兼容移动端
  6. 微信小程序商品详情html,微信小程序关于商品详情类的富文本解析器
  7. 计算智能——粒子群算法的寻优算法
  8. js拆字_分图程序 _拆分书法字体_拆分石刻碑文_拆分黄庭经碑文_使用方法
  9. 今日头条2018校招大数据/算法方向(第一批)详解
  10. Python实现樱花飘落