1

気がふれる。この正確な行は見つかりません。MySQLからの参照の例を使用すると、明らかに斜視になっています。

これは間違った構文ですが、オプション--ignore-table = search_indexをどこに置くべきかわからず、正しいものを除いて多くのバリエーションを試しました!

$cmd = "mysqldump -u --ignore-table=search_index " . $prod_db_user . " -p" . $prod_db_pass . " " . $prod_db_1 . " > " . $qa_backup_name;

データベースをダンプして、search_indexという名前のテーブルを除外しようとしています。

ありがとう

4

1 に答える 1

1

$prod_db_userの後にユーザー名を配置します-u。これはユーザー名フラグです。

$cmd = "mysqldump -u{$prod_db_user} --ignore-table=search_index  -p{$prod_db_pass} $prod_db_1  > $qa_backup_name";

これは二重引用符で囲まれた文字列であるため、すべてのPHP変数を直接文字列に入れることができます。ただし、必ずescapeshellarg()最初にそれらをエスケープしてください! 。

$prod_db_user = escapeshellarg($prod_db_user);
$prod_db_pass = escapeshellarg($prod_db_pass);
// etc...

最後に、実行環境によっては、へのフルパスを指定する必要がある場合があります((または)環境変数mysqldumpに他の方法で見つからない場合)。$PATH%PATH%

$cmd = "/path/to/mysqldump -u{$prod_db_user} ....";
于 2012-12-18T00:21:45.937 に答える