Jetez un oeil here! C'est une solution native écrite en PHP. Vous n'aurez pas besoin d'exécuter mysqldump, ou de gérer des scripts incomplets. C'est un clone mysqldump complet, sans dépendances, compression de sortie et valeurs par défaut saines. En sortie de boîte, mysqldump-php prend en charge la sauvegarde des structures de table, des données elles-mêmes, des vues, des déclencheurs et des événements.
Mysqldump-PHP est la seule bibliothèque qui prend en charge:
- sortie blobs binaires comme hexagonale.
- résout les dépendances de vue (à l'aide de tables Stand-In).
- sortie comparée à l'original mysqldump.Lié au système de test travis-ci (test de PHP 5.3 à 7.1 & hhvm)
- sauve les procédures stockées.
- enregistre les événements.
- insère une insertion étendue et/ou complète.
- prend en charge les colonnes virtuelles de MySQL 5.7.
Vous pouvez l'installer à l'aide compositeur, ou tout simplement télécharger le fichier php, et il est aussi facile que faire:
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();
}
Toutes les options sont expliqués à la page GitHub, mais plus ou moins sont auto-explicatif:
$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
);
Voulez-vous le faire avec phpmyadmin ou directement en PHP? –
en PHP, traitaient avec les utilisateurs, donc très probablement nous allons utiliser la sauvegarde automatisée en utilisant des scripts PHP. – user225269
Veuillez noter que les solutions PHP pure ci-dessous supposent que l'ordre des tables n'est pas important. Si vous avez des clés étrangères dans votre base de données, l'ordre de la restauration est important. Mais je n'ai pas trouvé de solution à ce problème spécifique ... MysqlDump fait ça, et phpmyadmin aussi. Bien qu'ils ne soient pas de simples solutions PHP. – jehon