当前位置:首页 » 数据仓库 » mysql数据库实时备份
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysql数据库实时备份

发布时间: 2022-12-07 16:37:23

❶ Mysql的备份与还原,非常规备份,全量备份,增量备份

1:官方百万级别的测试数据库

官方测试数据库github网址:https://github.com/datacharmer/test_db

下载到目录,解压即可,运行命令:

2:自己创建简单测试数据库:

快速随机生成测试语言的网站:https://generatedata.com/

选择sql和想生成的字段,点击生成Generate!生成即可。

在MySQL输入生成的语句即可。

3:测试备份还原时用到的命令

删库跑路测试(先备份好)

还原后查询库的表数据是否完整。

采用复制整个数据存放目录

1:查看数据库数据存放位置

有两种方法:

1):在数据库中用命令 show variables like 'datadir' 查看

2):在配置文件中查看,配置了 datadir 目录的可查看。没有配置的默认为 /var/lib/mysql/ 位置

Linux中查看配置文件


2:复制目录或者目录下某个数据库名

3:还原时直接复制文件夹到数据库目录即可


mysqlmp又可叫做全量备份。

参数 --databases 同 -B ,单独一个库,也可省略。

1、备份命令mysqlmp格式

格式:mysqlmp -h主机名 -P端口 -u用户名 -p密码 database 数据库名 > 文件名.sql

备份testDatabase数据库

2、备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

3、直接将MySQL数据库压缩备份

备份并压缩

4、备份MySQL数据库某个(些)表

备份testDatabase中的myTable表,不需要用参数 --databases 或者 -B

5、同时备份多个MySQL数据库

同时备份testDatabase和 employees两个库

6、备份服务器上所有数据库

参数 --all-databases 同 -A

7、还原MySQL数据库的命令

1) 不指定数据名还原,默认生成原数据库名称,还原所有数据库。

2) 指定数据名还原,还原指定单个数据库,需在数据库种预先创建一个testDatabase名称。

3) 还原压缩的MySQL数据库

4) 进入数据库用source导入

增量备份是针对于数据库的bin-log日志进行备份的,增量备份是在全量的基础上进行操作的。增量备份主要是靠mysql记录的bin-log日志。

1:查看是否开启bin-log日志

进入mysql输入命令可查看。

显示如下为开启状态,日志文件在/var/lib/mysql/以binlog.00001的格式保存。

如未开启,需要在配置文件种配置


2:查看目前使用的bin-log日志文件

进入mysql查看命令。

显示如下,目前使用的是binlog.000022文件,所有操作都记录在此文件。

查看当前testDatabase的表myTable数据如下,

3:刷新日志,使用新的日志文件(备份)

在命令端执行命令

日志文件从 binlog.000022 变为 binlog.000023

这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件。

4:删除数量,从日志还原数据

1) 删除ABC行

查询以及没有ABC行列。

2) 恢复数据ABC行

退出mysql,在命令端用mysqlbinlog命令恢复到binlog.000022日志状态。

进入数据库再次查看数据,ABC已经恢复。

增量备份完成。

❷ MYSQL数据如何实时备份

MYSQL数据如何实时备份
依次单击:开始--程序--Microsoft SQL Server--企业管理器--SQL Server组--管理--数据库维护计划

在右侧空白处右键单击,新建维护计划--勾选要备份的数据库--下一步

指定数据库备份计划--调度--单击"更改"--设置备份的时间,备份周期--下一步
每日频率即是每天什么时间开始进行备份
发生频率即是执行的周期

指定备份磁盘目录--修改"使用此目录"的路径作为备份数据库的存放路径.勾选删除早于此时间的文件,我这里选择一周,即是数据库备份文件把一周前的进行删除

给此任务计划填写一个名字:back 2单击"完成",就可以在数据库维护计划中看到刚才新建的计划.

注意事项

一定要开启sql server agent服务

❸ 怎么备份mysql数据库

如果使用脚本备份的话 可以参考如下

准备


mkdir-p/data0/backup
cat>/tmp/myuse.txt<<EOF
[cleint]
user=root
password="Oracle#2017"
EOF

脚本内容:

mysql_backup_tleish.sh

#!/bin/bash
#==============================================================================
#TITLE:mysql_backup_tleish.sh
#DESCRIPTION:
#AUTHOR:tleish
#DATE:2013-12-20changeat20180116byhilodb
#VERSION:0.4
#USAGE:./mysql_backup_tleish.sh
#CRON:
#examplecronfordailydbbackup@9:15am
#minhrmdaymonthwdaycommand
#159***/Users/[yourusername]/scripts/mysql_backup_tleish.sh

#RESTOREFROMBACKUP
#$gunzip<[backupfile.sql.gz]|mysql-u[uname]-p[pass][dbname]

#==============================================================================
#CUSTOMSETTINGS
#==============================================================================

#directorytoputthebackupfiles
BACKUP_DIR=/data0/backup

#MYSQLParameters
OPTS="--all-databases--triggers--routines--events"

#Don'
#Example:startswithmysql(^mysql)orendswith_schema(_schema$)
##在这里添加忽略备份的库
IGNORE_DB="(^mysql|_schema$)"

##如果保持IGNORE_DB为空就是备份所有数据库
#IGNORE_DB=""

#
PATH=$PATH:/usr/local/mysql/bin

#Numberofdaystokeepbackups
KEEP_BACKUPS_FOR=30#days

#==============================================================================
#METHODS
#==============================================================================

#YYYY-MM-DD
TIMESTAMP=$(date+%F)

functioncheckok()
{
if[$?-ne0];then
echo"backupdatabase$1failed,pleasecheckscript"
exit
fi
}

functioncheck_dir()
{
[!-d$BACKUP_DIR]&&mkdir-p$BACKUP_DIR
}

functiondelete_old_backups()
{
echo"Deleting$BACKUP_DIR/*.sql.gzolderthan$KEEP_BACKUPS_FORdays"
find$BACKUP_DIR-typef-name"*.sql.gz"-mtime+$KEEP_BACKUPS_FOR-execrm{};
}

functionmysql_login(){
localmysql_login="--defaults-extra-file=/tmp/myuse.txt"
echo$mysql_login
}

functiondatabase_list(){
if["x$IGNORE_DB"=="x"];then
localshow_databases_sql="SHOWDATABASES"
else
localshow_databases_sql="SHOWDATABASESWHERE`Database`NOTREGEXP'$IGNORE_DB'"
fi
echo$(mysql$(mysql_login)-e"$show_databases_sql"|awk-F""'{if(NR!=1)print$1}')
}

functionecho_status(){
printf' ';
printf'%0.s'{0..100}
printf' ';
printf"$1"' '
}

functionbackup_database(){
backup_file="$BACKUP_DIR/$TIMESTAMP.$database.sql.gz"
output+="$database=>$backup_file "
echo_status"...backingup$countof$totaldatabases:$database"
$(mysqlmp$(mysql_login)$OPTS$database|gzip-9>$backup_file)
checkok$database
}

functionbackup_databases(){
localdatabases=$(database_list)
localtotal=$(echo$databases|wc-w|xargs)
localoutput=""
localcount=1
fordatabasein$databases;do
backup_database
localcount=$((count+1))
done
echo-ne$output|column-t
printf"Allbackep! "
}

functionhr(){
printf'=%.0s'{1..100}
printf" "
}

#==============================================================================
#RUNSCRIPT
#==============================================================================
check_dir
delete_old_backups
hr
backup_databases
hr

运行结果如下

chmod+xmysql_backup_tleish.sh
bashmysql_backup_tleish.sh


[root@ambaos1mysqlscript]#ll/data0/backup/
total12
-rw-r--r--1rootroot130Jan1615:332018-01-16.demo.sql.gz
-rw-r--r--1rootroot130Jan1615:332018-01-16.sys.sql.gz
-rw-r--r--1rootroot130Jan1615:332018-01-16.test.sql.gz

[root@ambaos1data0]#tree-L2
.
├──backup--忽略mysql和_schema的
│├──2018-01-16.demo.sql.gz
│├──2018-01-16.sys.sql.gz
│└──2018-01-16.test.sql.gz
└──backup_old---全备的
├──2018-01-16.demo.sql.gz
├──2018-01-16.information_schema.sql.gz
├──2018-01-16.mysql.sql.gz
├──2018-01-16.performance_schema.sql.gz
├──2018-01-16.sys.sql.gz
└──2018-01-16.test.sql.gz

❹ mysql中备份和还原数据库的语句什么啊

一、Mysql数据库备份指令格式:
mysqlmp -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql
注:直接cmd执行该指令即可,不需要先mysql -u root -p链接数据库
1、备份MySQL数据库的命令
mysqlmp -hhostname -uusername -ppassword databasename > backupfile.sql
2、备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqlmp -–add-drop-table -uusername -ppassword databasename > backupfile.sql
二、数据库还原有三种方式:source命令、mysql、gunzip命令
1、source 命令
进入mysql数据库控制台,
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /home/work/db/bkdb.sql
2、mysql
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
3、gunzip
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

❺ 请问mysql怎么自动备份数据库

数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。

工具/原料



navicat for mysql

mysql 5.5

方法/步骤

  1. 打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。


❻ 如何实现Mysql数据库每天自动备份定时备份

利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。

(1)新建备份任务

UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】

(2)设置备份策略

选择要进行备份的文件

(3)永久增量备份与数据保留设置

选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:

【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。

【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。

【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。

【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩

【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能

最后新建完成

目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。

(4)设置邮件告警

备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控

❼ 怎么定时自动备份mysql数据表

一、对于Windows主机
==============
假想环境:
MySQL
安装位置:C:\MySQL
论坛数据库名称为:bbs
MySQL
root
密码:123456
数据库备份目的地:D:\db_backup\
@echo
off
C:\MySQL\bin\mysqladmin
-u
root
–password=123456
shutdown
C:\MySQL\bin\mysqlmp
–opt
-u
root
–password=123456
bbs
>
D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt
将以上代码保存为backup_db.bat
然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)
二、对于Linux主机
===========
假想环境:
MySQL
安装位置:/usr/local/mysq
论坛数据库名称为:bbs
MySQL
root
密码:123456
数据库备份目的地:/var/db_backup/
#!
/bin/bash
/usr/local/mysql/bin/mysqladmin
-u
root
–password=123456
shutdown
/usr/local/mysql/bin/mysqlmp
–opt
-u
root
–password=123456
bbs
>
/var/db_backup/bbs.sql
/usr/local/mysql/bin/mysqld_safe
–user=mysql
&
将上述代码保存在/usr/local/sbin/backup_db.sh
对该脚本赋予执行权限:
#
chmod
755
/usr/local/sbin/backup_db.sh
加入crontab中自动执行:
#
crontab
-e
加入:
0
5
*
*
*
/usr/local/sbin/backup_db.sh

❽ 如何备份整个mysql数据库

1、首先打开mysql数据库软件进入软件主界面。