使用mysqldump备份与还原的mysql数据库

一、mysqldump命令介绍

1.mysqldump -help

查看命令介绍:

mysqldump --help

2.mysqldump登录选项:

-u user:指定用户

-h host:指定主机

-p:表示要使用密码

-E, --events: 备份事件调度器

-R, --routines: 备份存储过程和存储函数

3.mysqldump备份选项:

--all-databases:备份所有数据库
--databases db1 db2:备份指定的数据库
--single-transaction:对事务引擎执行热备
--flush-logs:更新二进制日志文件
--master-data=2
1:每备份一个库就生成一个新的二进制文件(默认)
2:只生成一个新的二进制文件
--quick:在备份大表时指定该选项

二、备份数据库的语句实例

1.导出数据库表的表数据和表结构
mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号] 数据库名 表名 >导出的文件名.sql

mysqldump -uroot -h 127.0.0.1 -pMrwhite@2021 -P3306 testdb game > game.sql

2.导出包括系统数据库在内的所有数据库

mysqldump -uroot -pMrwhite@2021 --all-databases>all.sql

3.导出多张表:

mysqldump -uroot -pMrwhite@2021 --databases test --tables t1 t2>two.sql

4.只导出表结构不导表数据,添加“-d”命令参数

mysqldump -uroot -h127.0.0.1 -pMrwhite@2021 -P3306 -d testdb game > game.sql

5.只导出表数据不导表结构,添加“-t”命令参数

mysqldump -uroot -h127.0.0.1 -pMrwhite@2021 -P3306 -t testdb game > game.sql

6.只导出testdb数据库的表结构

mysqldump -uroot -pMrwhite@2021 --no-data --databases testdb>database_testdb.sql

三、还原数据库的语句实例

1.格式:mysql -h[ip] -P[(大写)端口] -u[用户名] -p[密码] [数据库名] < d:XX.sql(路径)

mysql -uroot -pMrwhite@2021 -h127.0.0.1 -P3306 testdb <testdb.sql  #还原单个数据库
mysql -uroot -pMrwhite@2021 -h127.0.0.1 -P3306 <all.sql #还原全部数据库

2.命令行方式导入

mysql> use testdb;
mysql> source /root/test20221205/all.sql

四、封装shell脚本实现数据库的快速备份与还原,并可设置对应的备份版本

1.mysql库备份脚本:mysql_backup.sh

version=$1
service=$2
ip=127.0.0.1
passwd=Mrwhite@2021
if [ ! -d ${version} ];then
# rm -rf ${version}
mkdir ${version}
fi
if [ -d ${version} ];then
#cd ${version}
echo "开发备份数据库"
if [ "${service}" = "dbtest" ];then
mysqldump -h ${ip} -uroot -p${passwd} --databases testdb > ./${version}/testdb
echo "testdb库备份成功"
mysqldump -h ${ip} -uroot -p${passwd} --databases testdb2 > ./${version}/testdb2
echo "testdb2库备份成功"
fi
else
echo "目录不存在"
fi

查看运行结果:

2.mysql库还原脚本:mysql_reset.sh

version=$1
service=$2
ip=127.0.0.1
passwd=Mrwhite@2021
if [ ! -d ${version} ];then
echo "开发恢复备份数据库"
fi
if [ -d ${version} ];then
#cd ${version}
echo "开发还原数据库"
if [ "${service}" = "dbtest" ];then
#对应的数据库
mysql -uroot -p${passwd} -h ${ip} -P3306 testdb <./${version}/testdb
echo "testdb库还原成功"
mysql -uroot -p${passwd} -h ${ip} -P3306 testdb2 <./${version}/testdb2
echo "testdb2库还原成功"
fi
else
echo "数据库备份版本不存在"
fi

查看运行结果:

使用mysqldump备份与还原的mysql数据库的更多相关文章

  1. linux自动定时备份web程序和mysql数据库

    前些天受朋友说linux定时备份不知道怎么搞,叫帮忙处理一下.由于这段时间正闲着,所以也就欣然答应.由于朋友对linux不懂也希望我将操作的过程记录下来,也就是越详细越好.所以写得比较$%^& ...

  2. Linux VPS自动定时备份网站文件和MYSQL数据库到FTP空间(LNMP)

    如果我们网站更新不是很频繁,我们可以定期手动进行备份网站文件和MYSQL数据库导出.如果我们网站数据更新频繁,且数据尤为重要,建议要采用定期自动 备份,至少需要多备份数据,无论我们选择何种优秀的VPS ...

  3. mysqldump备份与还原mysql数据的实例

    有关mysql数据库的备份与还原,我们一般用下面两种方式来处理:1.使用into outfile 和 load data infile导入导出备份数据 本文原始链接:http://www.jbxue. ...

  4. MySQL的备份与还原以及常用数据库查看命令

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...

  5. mysql的日志及利用mysqldump备份及还原

    日志文件:6类       一般查询日志:log,general_log,log_output       慢查询日志:       错误日志       二进制日志       中继日志       ...

  6. 使用mysql5.7版本的mysqldump备份mysql8.0版本的数据库报错解决办法

    使用mysql5.7版本的mysqldump命令执行备份mysql8.0版本的数据库时会报错: mysqldump: Couldn't execute 'SET SQL_QUOTE_SHOW_CREA ...

  7. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  8. (2.13)备份与还原--sql server数据库主要状态和切换路径

    SQLSERVER数据库主要状态和切换路径 关键词:数据库状态 一个SQLSERVER数据库会处于很多种状态,例如 ONLINE .RESTORING .RECOVERING .RECOVERY_PE ...

  9. MySQL使用mysqldump备份及还原

    MySQL可以使用mysqldump进行数据的逻辑备份,配合开启bin log日志可以实现数据的全量恢复及增量恢复 MySQL版本查看 修改配置文件记录bin log日志 [mysqld] #bin ...

  10. mysql之mysqldump——备份与还原

    导出数据库里的某一张表 [root@localhost ~]# mysqldump -uroot -p test bptest>fi.mysql #导出test数据库中的bptest表 Ente ...

随机推荐

  1. Qemu/Limbo/KVM镜像:Ubuntu Mate 22.04+Wine 7.8

    链接: https://pan.baidu.com/s/1cf2c_ylu7-SUaYl8ddztog 提取码: b9mi 密码 空格 手机推荐使用termux里面的Qemu运行,速度最快. 镜像特征 ...

  2. PHP全栈开发(四): HTML 学习(2. div 布局)

    无序列表,有序列表,自定义列表 无序列表是ul表示,每个元素用li表示 有序列表是ol表示,每个元素用li表示 <ul> <li>首页</li><li> ...

  3. IDEA上关于 jstl导包的问题

    IDEA上关于 jstl的问题 在 IDEA上使用 maven创建 web骨架项目,在 pom文件中添加 jstl依赖 <dependency> <groupId>jstl&l ...

  4. 大数据技术之HBase原理与实战归纳分享-上

    @ 目录 概述 定义 特点 数据模型 概述 逻辑结构 物理存储结构 数据模型 应用场景 基础架构 安装 前置条件 部署 启动服务 高可用 Shell操作 基础操作 命令空间 DDL DML 概述 定义 ...

  5. kali配置

    IP设置 配置文件:/etc/networking/interface 临时IP ifconfig eth0 192.168.31.111/24 永久IP auto eth0 #iface eth0 ...

  6. ESP32 IDF 获取天气信息

    一.注册天气获取账号 我使用的知心天气,没有获取天气账号的小伙伴可以去注册一下,知心天气官网:https://www.seniverse.com/ 取得天气获取的API后,可以直接在浏览器中访问测试一 ...

  7. 如何检查“lateinit”变量是否已初始化?

    kotlin中经常会使用延迟初始化,如果要校验lateinit var 变量是否初始化.可以使用属性引用上的.isInitialized. 原文中是这样描述的:To check whether a l ...

  8. 洛谷 P6573 [BalticOI 2017] Toll 题解

    Link 算是回归OI后第一道自己写的题(考CSP的时候可没回归) 写篇题解纪念一下 题目大意: \(n\) 个点,\(m\) 条单向边,每条边的两端点 \(x\),\(y\)必定满足 \(\left ...

  9. Codeforces Round #805 (Div. 3)E.Split Into Two Sets

    题目链接:https://codeforces.ml/contest/1702/problem/E 题目大意: 每张牌上面有两个数字,现在有n张牌(n为偶数),问能否将这n张牌分成两堆,使得每堆牌中的 ...

  10. Git安装与常用操作

    Git作为一个版本控制工具,使用前需进行下载安装:可自行到官网下载. 一.安装(windows) 1.双击下载好的文件进行安装,弹窗中点击"next" 2.默认勾选,继续点击&qu ...