Tome una mirada here! Es una solución nativa escrita en php. No necesitarás ejecutar mysqldump, o lidiar con scripts incompletos. Este es un clon completo de mysqldump, sin dependencias, compresión de salida y valores por defecto.
Fuera de la caja, mysqldump-php admite la copia de seguridad de estructuras de tablas, los datos en sí, vistas, desencadenantes y eventos.
mysqldump-PHP es la única biblioteca que soporta:
- salida blob binario como hex.
- resuelve ver las dependencias (usando tablas de Stand-In).
- salida en comparación con mysqldump original.Vinculado al sistema de pruebas travis-ci (prueba de php 5.3 a 7.1 & hhvm)
- vuelca los procedimientos almacenados.
- vuelca eventos.
- hace la inserción extendida y/o la inserción completa.
- admite columnas virtuales de MySQL 5.7.
Se puede instalar usando el compositor, o simplemente descargar el archivo php, y es tan fácil como hacer:
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();
}
Todas las opciones se explican en la página de GitHub, pero más o menos está auto-explicativo:
$dumpSettingsDefault = array(
'include-tables' => array(),
'exclude-tables' => array(),
'compress' => Mysqldump::NONE,
'init_commands' => array(),
'no-data' => array(),
'reset-auto-increment' => false,
'add-drop-database' => false,
'add-drop-table' => false,
'add-drop-trigger' => true,
'add-locks' => true,
'complete-insert' => false,
'databases' => false,
'default-character-set' => Mysqldump::UTF8,
'disable-keys' => true,
'extended-insert' => true,
'events' => false,
'hex-blob' => true, /* faster than escaped content */
'net_buffer_length' => self::MAXLINESIZE,
'no-autocommit' => true,
'no-create-info' => false,
'lock-tables' => true,
'routines' => false,
'single-transaction' => true,
'skip-triggers' => false,
'skip-tz-utc' => false,
'skip-comments' => false,
'skip-dump-date' => false,
'skip-definer' => false,
'where' => '',
/* deprecated */
'disable-foreign-keys-check' => true
);
¿Quieres hacerlo con phpmyadmin o directamente en PHP? –
en php, tratamos con usuarios, así que lo más probable es que hagamos uso de la copia de seguridad automática usando scripts php. – user225269
Tenga en cuenta que las soluciones de PHP puro que figuran a continuación suponen que el orden de las tablas no es importante. Si tiene claves externas en su base de datos, el orden de la restauración ES importante. Pero no encontré una solución para ese problema específico ... MysqlDump hace eso, y phpmyadmin también. Aunque no son soluciones PHP puras. – jehon