本地mysql数据库,怎么备份整个数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本地mysql数据库,怎么备份整个数据库相关的知识,希望对你有一定的参考价值。

参考技术A 备份数据库主要是备份数据库里面的各个表,因为如果移植到其他主机上,数据库名和用户都可以新建而且网站新的数据库名和用户不同名,所以只要进入phpmyadmin里面,选中自己的数据库,然后点击上方的导出就可以了,导出的格式默认是.sql的,也很容易导入到其他数据库里面。望采纳

mysql怎么操作备份

1、建立自动备份脚本
为了使数据库备份和恢复的符合我们的实际要求(备份保留七天,每天凌晨备份一次),用一段符合要求的Shell脚本来实现整个备份过程的自动化。
[root@mysqltest ~]# vim mysql-backup.sh
#!/bin/bash
##作者:Barlow##
##最后修订:2013-6-25##
#脚本作用:备份Mysql数据库
#
#设定备份保留天数K
K=7
#
TODAY=`date '+%Y%m%d'`
KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`
BACKDIR=/var/mysqlbak/$TODAY
KDAYDIR=/var/mysqlbak/$KDAY
mkdir -p $BACKDIR
#
# The Password of MySQL
ROOTPASS=******* ##将*替换为实际mysql数据库的root密码
#
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#
# Backup with Database
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
#
#删除过期备份
if [ -d "$KDAYDIR" ];then
rm -rf $KDAYDIR
exit
fi
改变脚本权限,root具有完全权限,其他用户没有任何权限:
[root@mysqltest ~]# chmod 700 mysql-backup.sh
运行一次脚本:
[root@mysqltest ~]# ./mysql-backup.sh
查看运行结果:
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
mysql/ wordpress/
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
总用量 8
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 mysql
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 wordpress
可以看到备份已经成功完成。
2、创建自动任务每天运行
[root@mysqltest ~]# crontab -e
00 01 * * * /root/mysql-backup.sh
##每天凌晨1点运行一次
参考技术A mysql shell
使用默认参数zstd压缩+32M chunk并行导出,恢复时单表可以并行load data,其备份和恢复速度均优于非压缩+非分块。 测试中发现,若禁用压缩,也会禁用分块。
mysqldump
备份和恢复都是单线程执行,不压缩的备份效率更快,zstd的实时备份速度比gzip更快,恢复速度最慢。
mysqlpump
备份支持并行速度也很快,但是单线程恢复是硬伤。
mydumper
默认用gzip协议,备份速度与mysqldump基本一样,看来瓶颈在压缩上。
在非压缩非分块备份速度会更快。
恢复速度中等,单表无法并行。

综合上述测试结果,mysql shell新的备份恢复方式是最快的,得益于使用了zstd实时压缩算法,备份恢复均可以并行,对于单个大表也可以并行。

以上是关于本地mysql数据库,怎么备份整个数据库的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库怎么备份啊?

mysql怎么操作备份

怎样备份mysql数据的一个表 而不是整个数据库

本地MySQL数据库怎么与远程MySQL数据库同步

怎么备份mysql数据库中一张表

mysql数据库备份文件怎么为空