如何对MYSQL数据库进行物理备份

Vai*_*ain 5 mysql innodb backup windows mysql-5.5

我试图找出一些可以对MYSQL数据库进行物理备份的工具。喜欢mysqlbackup但它不是开源的。有,mysqldump但我想进行物理备份。有人可以建议我一些工具来备份 MYSQL 数据库吗windows?我正在Innodb用作我的数据库引擎。

Rol*_*DBA 6

您实际上不需要第三方工具。

步骤 01

通过运行找出数据的路径

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
Run Code Online (Sandbox Code Playgroud)

对于这个例子,让我们假设它是 C:\Program Files\MySQL\MySQL 5.6\data

步骤 02

选择一个目标文件夹来复制数据目录

对于这个例子,让我们选择 D:\MySQLBackup

步骤 03

创建C:\RunMySQLBackup.bat使用以下命令调用的批处理文件

@echo off
set MYSQL_USER=root
set MYSQL_PASS=rootpassword
set MYSQL_CONN=-u%MYSQL_USER% -p%MYSQL_PASS%
set MYSQL_DATA=C:\Program Files\MySQL\MySQL 5.6\data
set MYSQL_BACK=D:\MySQLBackup
mysql %MYSQL_CONN% -ANe"FLUSH TABLES; SET GLOBAL innodb_fast_shutdown=0;"
net stop mysql
xcopy /s %MYSQL_DATA%\*.* %MYSQL_BACK%\.
net start mysql
Run Code Online (Sandbox Code Playgroud)

结论

只需C:\RunMySQLBackup.bat按需运行或将其添加到 Windows 调度程序。这只是一个粗略的备份脚本,它只保留一个副本。

这不是我第一次讨论这个问题。我有另一个帖子MySQL 通过复制物理文件来备份 MyISAM 表 - 并自动化复制全 MyISAM 数据库的过程。

您应该考虑执行 mysqldumps,因为您可以在某个时间点获取数据。如果你想回到 mysqldumps,我写了另一篇关于如何在 Windows 中使用基于数据和时间命名备份文件名的mysqldumps 的文章mysqldump 与自动生成的导出名称)。