web-dev-qa-db-ja.com

MYSQLデータベースの物理バックアップを取る方法

MYSQLデータベースを物理的にバックアップできるツールを探しています。 mysqlbackupに似ていますが、オープンソースではありません。 mysqldumpがありますが、物理的なバックアップを取りたいです。誰かがwindows上のMYSQL dbのバックアップを取るためのツールを提案してくれませんか。また、データベースエンジンとしてInnodbを使用しています。

5
vaibhav jain

文字通り、サードパーティのツールは必要ありません。

ステップ01

実行してデータへのパスを見つける

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';

この例では、それが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

結論

オンデマンドでC:\RunMySQLBackup.batを実行するか、Windowsスケジューラに追加します。これは大まかなバックアップスクリプトであり、1つのコピーしか保持しません。

これについて私が話し合ったのはこれが初めてではありません。私は別の投稿 MySQLが物理ファイルをコピーしてMyISAMテーブルをバックアップし、プロセスを自動化する すべてのMyISAMデータベースをコピーするために。

ある時点でデータを取得できるため、mysqldumpの実行を検討する必要があります。 mysqldumpsに戻りたい場合は、Windowsでデータと時間に基づいて名前付きのバックアップファイル名でmysqldumpsを実行する方法について書いた別の投稿があります( 自動的に生成されたエクスポート名を持つmysqldump )。

6
RolandoMySQLDBA