PHPのexec()関数でmysqldumpを実行してMySQLデータベースのダンプファイルを取得する方法。
exec()関数で mysqldump を実行
<?php
/**
* PHPの exec() で mysqldump を実行する
*/
// バックアップファイル名
$file_name = date('YmdHis') .'_db_dump.sql';
// ディレクトリ名
$dir_name = '~/db_dump/';
// DBホスト
$db_host = '127.0.0.1';
// DB名
$db_name = 'dbname';
// DBユーザー名
$db_user = 'dbuser';
// DBパスワード
$db_pass = 'dbpass';
// DBポート番号
$db_port = '3307';
// mysqldump 実行
exec("/usr/local/bin/mysqldump -h{$db_host} -u{$db_user} -p{$db_pass} -P {$db_port} -B {$db_name} > " .$dir_name.$file_name );
// % mysql -V
// mysql Ver 14.14 Distrib 5.5.42, for FreeBSD10.1 (amd64) using 5.2
// % mysqldump -V
// mysqldump Ver 10.13 Distrib 5.5.42, for FreeBSD10.1 (amd64)
// % which mysqldump
// /usr/local/bin/mysqldump
// % /usr/local/bin/php-7.4 -v
// PHP 7.4.22 (cli) (built: Dec 15 2021 08:35:05) ( NTS )
// Copyright (c) The PHP Group
// Zend Engine v3.4.0, Copyright (c) Zend Technologies
// /usr/local/bin/php-7.4 db_dump.php
// php-7.4 db_dump.php
動作環境情報
CPI シェアードプラン ACE01 mysql Ver 14.14 Distrib 5.5.42, for FreeBSD10.1 (amd64) using 5.2 mysqldump Ver 10.13 Distrib 5.5.42, for FreeBSD10.1 (amd64) PHP 7.4.22 (cli) (built: Dec 15 2021 08:35:05) ( NTS )
コメント