MySQL8备份 |
您所在的位置:网站首页 › mysql8新语法 › MySQL8备份 |
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 |