0

これは機能しています:

exec('mysqldump --single-transaction --user=myusername --password=mypassword --host=localhost mydb > /home/path/public_html/a.sql');

exec('mysql --user=myusername --password=mypassword --execute="drop database mydevdb;"');

exec('mysql --user=myusername --password=mypassword --execute="create database mydevdb;"');

ライブ データベースからのクエリを含む SQL ファイルが作成され、適切な場所に dev データベースが削除され、再作成されます。最初の exec は でのみ機能することに注意してください--single-transaction。しかし、以下の最後のステップは機能していません。最初のテーブルをデータなしで作成し、他のテーブルは作成しません。ありとなしで試してみました--single-transaction

exec('mysql --user=myusername --password=mypassword --host=localhost mydevdb < /home/path/public_html/a.sql');

私が本当に望んでいるのは、PHP を介して同じ MYSQL インスタンス内で 1 つのデータベースを別のデータベースに複製することです。これも機能しません:

exec('mysqldump --user=myusername --password=mypassword --host=localhost mydb | mysql --user=myusername --password=mypassword --host=localhost mydevdb');

だから私はダンプしてからインポートしようとしています。何か案は?

4

1 に答える 1