shell脚本-MySQL数据库备份

这篇具有很好参考价值的文章主要介绍了shell脚本-MySQL数据库备份。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

shell脚本-MySQL数据库备份

准备:

确保mysql服务启动

可以通过mysqldump命令来备份数据库

1.mysqldump 命令语法:

使用 mysqldump 命令备份一个数据库的语法格式如下:

mysqldump -u username -p dbpasswd [tbname ...]> filename.sql

使用 mysqldump 命令备份一个数据库中表的语法格式如下:

mysqldump -u username -p dbpasswd [tbname ...]> filename.sql

2.参数:

-s 会去掉显示表的边框
-e 免交互

实例:

[root@localhost scripts]# mysql -uroot -proot -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

[root@localhost scripts]# mysql -uroot -proot -s -e  "show databases;"
Database
information_schema
mysql
performance_schema
test

`再过滤一下就可以得到我们想要备份的一些数据库列表`
[root@localhost scripts]# mysql -uroot -proot -s -e  "show databases;" | grep -Ev "Database|information_schema|mysql|performance_schema|sys"
test

`使用mysqldump备份数据库`
mysqldump -uroot -proot -B dbname > xxx.sql

`使用mysqldump备份数据库中的表`
mysqldump -uroot -proot dbname tabname > xxx.sql

1.备份数据库(可指定数据库)

先确保数据库服务启动的情况下,创建shell脚本文章来源地址https://www.toymoban.com/news/detail-570531.html

vim 12.sh
#!/bin/bash
DATA=`date +%F-%H-%M-%S`
HOST=localhost
USER=root
PASS=root
BACKUP_DIR=/data/db_backup
DB_LIST=`mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2> /dev/null | grep -Ev "Database|information_schema|mysql|performance_schema|sys"`

for DB in $DB_LIST; do
        BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql
        if mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null ; then
                echo "$BACKUP_NAME 备份成功!"
        else
                echo "$BACKUP_NAME 备份失败!"
        fi
done
[root@localhost scripts] bash 12.sh
/data/db_backup/test_.sql 备份成功!

2.备份数据库中的表(可以指定数据库、表)

vim 12-1.sh
#!/bin/bash
DATE=`date +%F-%H-%M-%S`
HOST=localhost
USER=root
PASS=root
BACKUP_DIR=/data/db_back_up
DB_LIST=`mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null | grep -Ev "Database|information_schema|mysql|performance_schema|sys"`

for DB in $DB_LIST; do
        BACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}
        [ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/null
        TABLE_LIST=`mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null`
        for TABLE in $TABLE_LIST; do
                BACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sql
                if mysqldump -h $HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME ; then
                        echo "$BACKUP_NAME 备份成功!"
                else
                        echo "$BACKUP_NAME 备份成功!"
                fi
        done
done
[root@localhost scripts]# bash 12-1.sh
/data/db_back_up/test_2023-07-17-00-28-22/student.sql 备份成功!

到了这里,关于shell脚本-MySQL数据库备份的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用脚本定时备份MySql数据库文件

    如果mysql不在环境变量中,请先将mysql放入环境变量   新建一个脚本 脚本内容: 需要给这个脚本文件执行权限: 自动执行 查看crontab服务状态: 手动启动crontab服务: 查看crontab服务是否已设置为开机启动,执行命令: 加入开机自动启动:

    2024年04月26日
    浏览(32)
  • 导出docker MySQL中的数据库写一个shell 脚本

    安装命令 mysqldump 编辑脚本内容 export_mysql.sh 执行以下命令给脚本添加执行权限:

    2024年02月21日
    浏览(37)
  • PostgreSQL数据库定时备份脚本

          大多数数据库管理系统都提供了自带的备份工具,可以使用这些工具来进行备份操作。     例如: MySQL:使用 mysqldump 命令进行备份。 PostgreSQL:使用 pg_dump 命令进行备份。       以下是一个用于定时备份 PostgreSQL 数据库的示例脚本。这个脚本将使用 pg_dump 工具来创建

    2024年02月11日
    浏览(36)
  • Powershell脚本自动备份dhcp数据库

    大致列举几点进行一下说明: 如果DHCP数据库出现问题,如数据丢失、损坏或不一致,自动备份是恢复关键网络配置信息的关键。 在网络故障或DHCP服务器故障的情况下,自动备份还可用于快速重建和恢复网络配置。这有助于减少停机时间和业务中断。 定期自动备份还允许在

    2024年02月08日
    浏览(35)
  • windows 环境下使用脚本备份 oracle 数据库数据

    当我们的系统部署在 windows 上时,且使用的数据库为 oracle 时,需要将数据库的数据定时备份。 提示:以下是本篇文章正文内容,下面案例可供参考 搜索任务计划程序 创建任务 新建触发器,执行时间设置好 新建操作,选择bat脚本文件 上述基本步骤创建完成之后便可以看到

    2024年01月17日
    浏览(49)
  • Springboot使用ProcessBuilder创建系统进程执行shell命令备份数据库

    Springboot执行shell命令备份数据库。 主要就是使用ProcessBuilder创建系统进程,执行终端命令。

    2024年02月07日
    浏览(32)
  • 在Centos7中利用Shell脚本:实现MySQL的数据备份

    目录 自动化备份MySQL 一.备份数据库脚本 1.创建备份目录   2.创建脚本文件 3.新建配置文件(连接数据库的配置文件) 4.给文件权限(mysql_backup.sh)      ​编辑           5.执行命令 (mysql_backup.sh)        ​编辑        二.数据库通过备份恢复    1.创建脚本文件 2.增加文件

    2024年02月03日
    浏览(32)
  • shell脚本:数据库的分库分表

     

    2024年02月15日
    浏览(32)
  • postgresql|数据库|批量执行SQL脚本文件的shell脚本

    对于数据库的维护而言,肯定是有SQL脚本的执行,例如,某个项目需要更新,那么,可能会有很多的SQL脚本需要执行,SQL脚本可能会包含有建表,插入数据,索引建立,约束建立,主外键建立等等内容。 那么,几个SQL脚本可能无所谓,navicat或者psql命令行 简简单单的就导入了

    2024年02月01日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包