MySQLはWindows Server 2008でバックアップをスケジュールするためにどのようなメカニズムを使用しますか?


8

Windows Server 2008で実行されているMySQLサーバー(v5.1.45-community)でデータベースバックアップをスケジュールする場合、バックアップの実行をトリガーするためにどのようなメカニズムが使用されますか?Windowsタスクスケジューラを使用していると思いますが、これらのバックアップの明確なタスクはありません。SQL Serverは別のエージェントサービスを使用します。MySQLに同様のものはありますか?

追加情報:バックアップはMySQL Administratorでセットアップされました。バックアップのスケジュール方法は知っていますが、実行されていません。トラブルシューティングを開始する場所についての洞察を探しています。

回答:



3

MySQL 5.1+には、イベントスケジューリングを作成する機能があります

2時間以上経過したテーブルからの行の削除をスケジュールする方法の例を次に示します。

drop database rolando;
create database rolando;
use rolando
create table mydata (id int not null auto_increment primary key,ti_time timestamp DEFAULT current_timestamp) ENGINE=MyISAM;
DELIMITER $$
DROP PROCEDURE IF EXISTS `rolando`.`LoadMyData` $$
CREATE PROCEDURE `rolando`.`LoadMyData` ()
BEGIN
    DECLARE NDX INT;
    SET NDX = 0;
    WHILE NDX < 100 DO
        INSERT INTO mydata (ti_time) VALUES (NOW() - INTERVAL CEILING(14400*RAND()) SECOND);
    SET NDX = NDX + 1;
    END WHILE;
END $$
DELIMITER ;
show create table mydata\G
SHOW CREATE PROCEDURE LoadMyData\G
CALL rolando.LoadMyData();
CREATE TABLE ta_table LIKE mydata;
ALTER TABLE ta_table DISABLE KEYS;
INSERT INTO ta_table SELECT SQL_NO_CACHE * FROM mydata;
ALTER TABLE ta_table ENABLE KEYS;
CREATE EVENT ev
    ON SCHEDULE
      EVERY 1 MINUTE
      STARTS (NOW() + INTERVAL 1 MINUTE)
    DO
      DELETE FROM ta_table WHERE ti_time > NOW() - INTERVAL 2 HOUR;
SELECT COUNT(1) FROM ta_table;
SELECT SLEEP(62);
SELECT COUNT(1) FROM ta_table;

イベントスケジューリングをアクティブにするには、次の2つのことを行う必要があります。

まず、手動でアクティブ化します。

SET GLOBAL event_scheduler = 1;

次に、これをmy.iniに追加して、mysqlを再起動した場合にイベントスケジューラを保持します。

[mysqld]
event_scheduler = 1;

ここから、ストアドプロシージャを使用して独自の顧客バックアッププロシージャを設計し、そのストアドプロシージャをスケジュールできます。しかし、私が聞いた1つの欠点、これをトラブルシューティングするために一度試みたイベントから呼び出されたストアドプロシージャ内のInnoDBテーブルを更新することでした

MySQLイベントを使用しないより安定したアプローチも、より単純なアプローチです。

mysqldumpを実行するDOSバッチファイルを作成し、選択した宛先ファイルに出力を保存します。次に、Windowsスケジューラを使用して、そのDOSバッチファイルを呼び出します。

試してみる !!!


1

私たちは長い間、todoバックアップサーバーを使用してきました。完全、増分、差分バックアップを提供します。通常、毎日のバックアップスケジュールを設定し、3つのバージョンのイメージを保存します。つまり、ソフトウェアは古いイメージを自動的に削除します。Windowsエクスプローラーで、フォルダーまたはパーティションのバックアップイメージから特定のファイルを復元することもできます。私たちは中小企業のユーザーであり、1,000ドルのバックアップソフトウェアを購入する余裕はありません。そのため、todoバックアップは非常に適しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.