ホームページ > バックエンド開発 > PHPチュートリアル > mysqldump を実行する権限に関連する問題

mysqldump を実行する権限に関連する問題

WBOY
リリース: 2016-06-13 13:52:05
オリジナル
925 人が閲覧しました

mysqldump を実行するための権限の問題
PHP ページのボタンをクリックしてデータベース全体をバックアップするように計画してください
$tmpname= "wholesystem.sql ";
unlink($setupdirection. "/tmp/$tmpname "; );
$command= "mysqldump --opt --default-character-set=latin1 -u $dbusername -p " $dbnames > ".$setupdirection " ;
system($command);
download($setupdirection. "/tmp/ ",$tmpname, $tmpname);

$command によって出力される内容は、mysql のインストール パスに入ります。コマンド ライン bin、実行は成功しました。 !
しかし、上記のコードでは、出力は常に空の SQL ファイルになります。
その理由は、mysqldump が内部コマンドではなくコマンド ラインで直接実行されるためであることはわかっています。これは、ファイルの bin で実行する必要があります。 mysql インストール パス

mysql インストール パスを保存する必要がありますか?今後システムを移植するのが面倒です
他に$commandを実行させる方法はありますか?

-----解決策--------------------------------
システムの移植を検討しているので、完全なパスを指定する必要があります。異なるシステムや異なるインストールでは、宛先ディレクトリも含めてコマンドが必ず異なるパスに配置されます。

show create table と select into outfile の使用を検討してから、load data infile を使用することをお勧めします。
------解決策---------
上記の文の意味がわかりません。
なぜ複数回実行する必要があるのですか?
複数のデータベースで?

mysqldump -user -ppass -h hostname databasename tablename1 tablename2 ...
この方法で複数のデータベースをバックアップできます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート