0

私がする必要があるのは、特定のテーブル データの SQL バックアップ ファイル (「挿入ステートメントの生成」) を作成することです。これを毎月やりたい。

select ステートメントの例:

SELECT * FROM table WHERE date >= "01-01-2012" AND date < "01-02-2012"

ケースは、リモート SQL サーバーからバックアップする必要がある場合です。使えないらしいmysqldump(?)

では、これらのステートメントを生成する PHP スクリプトを作成するだけでよいでしょうか。少し野蛮な解決策のようです;)

申し訳ありませんが、この問題はかなり基本的なようですが、すでにかなり混乱しています。

ところで。テーブルは部分的に InnoDB で部分的に MyISAM です

4

1 に答える 1

0

色々と質問して...

リモート マシンが UNIX の場合、次のような小さな bash スクリプトを記述します。

#!/bin/bash

/usr/bin/mysqldump -h db_server -u user_name -ppassword --WHERE 'date >= "01-01-2012" AND date < "01-02-2012"' database_name table_name | gzip > output.sql.gz

注意事項:

  1. パスワードはスクリプトにハードコーディングされています。権限の低いユーザー アカウントを使用します。
  2. 日付範囲もハードコーディングされていますが、一般的なものにするのは簡単です。
  3. 「-p」とパスワードの間にスペースはありません。

innodb の場合、--single-transaction を使用します。myisam については、 --lock-tables に固執していると思います。

次に、このスクリプトを cron ジョブで実行します。

接続に問題がある場合は、ファイアウォールと mysql ユーザー権限を確認してください。

そして私の $0.02... シェル コマンドを実行する php スクリプトを書くのは本当に怠惰です。それらのシェルスクリプトを作成します。よく眠れます。

幸運を。

于 2012-09-19T00:26:03.620 に答える