Погляньте тут: https://github.com/ifsnop/mysqldump-php ! Це нативне рішення, написане на php.
Ви можете встановити його за допомогою композитора, і це так просто, як це зробити:
<?php
use Ifsnop\Mysqldump as IMysqldump;
try {
$dump = new IMysqldump\Mysqldump('database', 'username', 'password');
$dump->start('storage/work/dump.sql');
} catch (\Exception $e) {
echo 'mysqldump-php error: ' . $e->getMessage();
}
?>
Він підтримує досвідчених користувачів з великою кількістю опцій, скопійованих з оригінального mysqldump.
Усі параметри пояснюються на сторінці github, але більш-менш є автоматичними:
$dumpSettingsDefault = array(
'include-tables' => array(),
'exclude-tables' => array(),
'compress' => 'None',
'no-data' => false,
'add-drop-database' => false,
'add-drop-table' => false,
'single-transaction' => true,
'lock-tables' => false,
'add-locks' => true,
'extended-insert' => true,
'disable-foreign-keys-check' => false,
'where' => '',
'no-create-info' => false
);
mysqldump
поsystem()
.