Взгляните сюда: https://github.com/ifsnop/mysqldump-php ! Это нативное решение, написанное на php.
Вы можете установить его с помощью composer, и это очень просто:
<?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
bysystem()
.