PHP | exec()関数で mysqldump を実行

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 )

コメント

タイトルとURLをコピーしました