MySQL8备份

您所在的位置:网站首页 mysql8新语法 MySQL8备份

MySQL8备份

#MySQL8备份| 来源: 网络整理| 查看: 265

MySQL8备份 原创

纯洁的攻城狮 2023-05-12 14:13:03 ©著作权

文章标签 mysql 数据库 sql 文章分类 MySQL 数据库 yyds干货盘点

©著作权归作者所有:来自51CTO博客作者纯洁的攻城狮的原创作品,请联系作者获取转载授权,否则将追究法律责任 备份数据库使用 mysqldump 命令备份数据库

mysqldump 命令必须在 cmd 窗口下执行,不能登录到 MySQL 服务中执行

一、备份一个数据库mysqldump -u username -p dbname [tbname ...]> filename.sql

对上述语法参数说明如下:

username:表示用户名称;dbname:表示需要备份的数据库名称;tbname:表示数据库中需要备份的数据表,可以指定多个数据表。省略该参数时,会备份整个数据库;右箭头“>”:用来告诉 mysqldump 将备份数据表的定义和数据写入备份文件;filename.sql:表示备份文件的名称,文件名前面可以加绝对路径。通常将数据库备份成一个后缀名为.sql的文件(其他后缀也可以)。二、备份多个数据库mysqldump -u username -P --databases dbname1 dbname2 ... > filename.sql

加上“--databases”参数后,必须指定至少一个数据库名称,多个数据库名称之间用空格隔开。

三、备份所有数据库mysqldump -u username -P --all-databases>filename.sql

使用“--all-databases”参数时,不需要指定数据库名称。

四、定时备份

mysql_backup_script.sh

#!/bin/bash #保存备份个数,备份31天数据 number=31 #备份保存路径 backup_dir=/home/backup/mysqlbackup #日期 dd=`date +%Y-%m-%d-%H-%M-%S` #备份工具 tool=mysqldump #用户名 username=root #密码 password=zhenghe@erp #将要备份的数据库 database_name=zh_edu_stu_dev #如果文件夹不存在则创建 if [ ! -d $backup_dir ]; then mkdir -p $backup_dir; fi #简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql $tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql #写创建备份日志 echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #找出需要删除的备份 delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1` #判断现在的备份数量是否大于$number count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then #删除最早生成的备份,只保留number数量的备份 rm $delfile #写删除文件日志 echo "delete $delfile" >> $backup_dir/log.txt fi

创建cron脚本

使用crontab定期执行备份脚本mysqlRollBack.cron # minute hour day-of-month month-of-year day-of-week commands # 每天早晨10点30执行 30 10 * * * /home/backup/mysql_backup_script.sh 添加定时任务 crontab mysqlRollBack.cron "crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本 crontab -l

恢复数据库

mysql 命令语法格式如下:

mysql -u username -P [dbname] < filename.sql

其中:

username 表示用户名称;dbname 表示数据库名称,该参数是可选参数。如果 filename.sql 文件为 mysqldump 命令创建的包含创建数据库语句的文件,则执行时不需要指定数据库名。如果指定的数据库名不存在将会报错;filename.sql 表示备份文件的名称。

注意:

mysql 命令和 mysqldump 命令一样,都直接在命令行(cmd)窗口下执行。

如果使用--all-databases参数备份了所有的数据库,那么恢复时不需要指定数据库

收藏 评论 分享 举报

上一篇:Hadoop(四)Yarn

下一篇:CentOS7-MySQL8主从库



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3