• ベストアンサー

エックスサーバでmysqladmin

エックスサーバ(www.xserver.ne.jp/)で、mysqlのバックアップをするスクリプトを作成しようと しています。 Perlで、 system("/usr/bin/mysqladmin $dbname -u$dbuser -h$dbhost -p$dbpaw > $filename"); のように行っていますが、作成されるファイルは 0 バイトです。 ローカルのPC上では上記の方法で正常に動作します。 そもそも、エックスサーバでこの方法は使えますでしょうか。 使えない場合、代替の手段はありますでしょうか。

  • MySQL
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • ssk38
  • ベストアンサー率44% (22/49)
回答No.1

きっとmysqladminコマンドがないんだと思いますが、 system("/usr/bin/mysqladmin $dbname -u$dbuser -h$dbhost -p$dbpaw > $filename"); を system("/usr/bin/mysqladmin $dbname -u$dbuser -h$dbhost -p$dbpaw > $filename 2>&1"); に替えたらエラー内容が出ませんか。 あとsystem実行後に $?が-1ならコマンドがないってことになります。 xserverに関しては知らないので、以下は参考です。 コマンドがないとすると、管理者に用意してもらうんでしょうか。 自分でコマンドのバイナリをもってきたら動くんでしょうか。

kt_yuka
質問者

お礼

ありがとうございます。 まだ試していませんが、mysqldumpが使えましたので そちらを使っています。 エラーの取得方法とか、大変助かります。 ありがとうございました。

関連するQ&A

  • かねやんmysqladminで接続ができない

    Windows8Proにmysql-workbench-community-6.0.8-win32.msiをインストールしました。 コマンドプロンプト(MySQL 5.6 Command Line Client)からパスワードを入力して ローカル接続できることは確認しました。 MYSQL WORKBENCH6.0とA5M2でも問題なく接続できますが、 かねやんmysqladminで接続ができません。 libmySQL.dlをmysqladmin.exeのルートに置くと接続できるとの情報があったので C:\Program Files\MySQL\MySQL Server 5.6\bin内に入れてみましたが同じです。 libmySQL.dlはBIN内になく、LIBにあったので上書きしてみましたが、こちらも同じです。 何か考えられることはありますでしょうか。

    • ベストアンサー
    • MySQL
  • かねやんMySqlをつかってサーバーに接続できません

    RedHat7.3にMysqlをインストールしました。 make installして #/usr/local/mysql/bin/mysql_install_db --user=mysql #chown -R mysql /usr/local/mysql #chgrp -R mysql /usr/local/mysql #/usr/local/mysql/bin/mysqld_safe --user=mysql& #/usr/local/mysql/bin/mysqladmin -u root password 123456 #/usr/local/mysql/bin/mysqlshow で +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ までOKでした。 でかねやんMySqlを使いユーザー名「root」パスワードは既述の「123456」をいれ ホスト名は「21*.***.***.***」と自分のサーバーIPアドレスをいれました。 でもコネクト失敗とでます。 解決策をご教授おねがいします。 これだけの情報でわかりますか?

    • ベストアンサー
    • MySQL
  • MYSQLadminだけですが

    パソコンをつけると、自動でMYSQLadminがでてきますが、必ず赤信号でServer Infoの部分などは空になっています。Control+Alt+Deleteで強制終了をさせない限り、インターネットやOutlookが使えません。 Mysqlは\mysql\binから通常どおりログインできます。 なぜでしょうか。 mysqld --consoleと打ったら、 Can't start server:Bind on TCP/IP port:No error Do you already have another mysqld server running on port 3306 Aborting C:\MYSQL\BIN\MYSQLD.EXE:Got signal 11. Aborting! とでます。 前回終了させたときは、右クリックでShut down bothで終了させました。何度もアンインストール、インストールを繰り返しています。それが原因なのでしょうか。

    • ベストアンサー
    • MySQL
  • CentOSにMySQLをインストール2

    CentOS6.2にMySQL5.0.37をインストールをしたいのですが、 インストール後の動作確認で失敗してしまいます。 以下のように動作確認を行ったのですが、うまくいきません。 ご経験のある方何かアドバイスを頂けますか? <経過> [root@TARO ~]# /usr/local/mysql/bin/mysqladmin -u root ping /usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

  • windows環境でのperlのパス

    以下の環境で開発をしています。 OS: windows XP ActivePerl 5.8.8 apache 2.0.64 レンタルサーバで利用しやすいようにperlスクリプトの第1行目に #!/usr/bin/perl を記述していますが、ActivePerl のありどころが C:\dev\perl\bin\なので第1行目を #!/dev/perl/bin/perl  にしなければなりません。 #!/usr/bin/perlの記述をそのまま使う為に巷でよく言われているようなwindowsのジャンクション機能を利用しています。 Cドライブ直下に「usr」ホルダを作り、ここにC:\dev\perl\bin\のジャンクションを設定しました。 するとC:\usr\を覗くとbin\が存在します。つまりC:\dev\perl\bin\はC:\usr\bin\でアクセスできるようになります。 しかしこの状態で#!/usr/bin/perlの記述をそのまま使うと500エラーが出ます。 これ以外に何か良い方法はございませんでしょうか? また同じような開発環境の皆様はperlスクリプトの第1行目をどのように対策されていますでしょうか? 宜しく御教授お願いいたします。

    • ベストアンサー
    • Perl
  • 起動スクリプト

    Mysql5系で起動スクリプトは以下のように設定しています。 #cat /etc/rc.d/rc.local if [ -x /usr/local/mysql5.0/bin/mysqld_safe ]; then /usr/local/mysql5.0/bin/mysqld_safe --user=mysql & fi これではpsで消すとかしか停止などができないので起動スクリプトを 作成したいのですが、作成方法がよくわかりません。 もし、Mysql5系で起動スクリプトを作成するとしたらどんな感じになるのでしょうか? できれば、START, STOPなども表示させるようにしたいのですが。。。

    • ベストアンサー
    • MySQL
  • FC4でmysqlを使用して PEAR DB への接続ができない

    FC4に、yumでPHP5.0.4、php-pear-5.0.4、php-mysql-5.0.4、(mysql-4.1.20,mysql-server-4.1.20)をインストールしました。 <?php $con = mysql_connect("localhost","taro","password") or die("接続出来ません"); print "接続しました"; mysql_close($con); ?> を実行すると、「接続しました」と出ます。ところが、 <HTML> <HEAD><TITLE>PHP test</TITLE></HEAD> <BODY> <?php require_once("DB.php"); $dbUser="taro"; $dbPass="password"; $dbHost="localhost"; $dbName="testdb"; $dbType="mysql"; $dsn="$dbType://$dbUser:$dbPass:@$dbHost/$dbName"; $conn = DB::connect($dsn); if(DB::isError($conn)){ die($conn->getMessage()); } print ('DBに接続しました'); $conn->disconnect(); ?> </BODY></HTML> を実行すると、DB Error: connect failed と出て、接続できません。 php.iniは、 include_path = ".:/usr/share/pear:/php/includes" としてあり、 [root@FC4 ~]# ls -l /usr/share/pear/ で調べても drwxr-xr-x 2 root root 4096 5月 27 18:06 DB -rw-r--r-- 1 root root 38937 11月 8 2005 DB.php となっています。 パスの切り方が間違っているでしょうか? どのようにすれば接続できるでしょうか?よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • Mysqlで外部から接続できない。

    RedHat7.3 mysql 4.1.11を使っています。ちなみにPHPは4.3.11です。 さて、この環境にソースでインストールしまして、グローバル権限のユーザーを作成しました。 かねやんMySqladminで接続していました。 default-character-setがsjisではないため日本語が入らないのでmy.cnfに default-character-set=sjis を追加し 停止して # /usr/local/mysql/bin/mysqladmin shutdown 再起動 # /usr/local/mysql/bin/mysqld_safe --user=mysql & しました。 すると外部からかねやんでコネクト(コネクト失敗)できなくなりました。 my.cnfのdefault-character-set=sjis を削除して再起動しても同じでしたのでコレが原因だとは考えにくいとおもうのですが、再起動したことによってなにか接続できなくなるようなことは考えられますが? ちなみにlocalhost(サーバーマシン上)からは接続できます。またそのサーバー内に置いてあるphpからmysqlにもコネクトできます。 大変困っております。 どなたかご教授いただきますようお願いします。

  • phpとデータベース

    書籍のサンプルを実行しても表示されません pearのインストールが怪しいですが、どこを直せばいいかわかりません。 ご教授お願いいたします。 <HTML> <HEAD> <TITLE>PHPのテスト</TITLE> </HEAD> <BODY> <?php require_once("DB.php"); $dbUser = "sample"; // ユーザー名 $dbPass = "password"; // パスワード $dbHost = "localhost"; // ホスト名 $dbName = "sampledb"; // データベース名 $dbType = "mysql"; // データベースの種類 // MySQL="mysql", PostgreSQL="pgsql", MS SQL-Server="mssql", ODBC="odbc" などを設定 // 接続文字列の作成 $dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName"; // データベースに接続 $conn = DB::connect($dsn); // 接続に失敗したらメッセージを表示して終了します。 if (DB::isError($conn)){ die($conn->getMessage()); } print('接続に成功しました。'); // データベースから切断します。 $conn->disconnect(); ?> </BODY> </HTML>

  • MYSQLのデータベース初期化ができません

    SentOS上でMYSQLをインストールしたいのですが、 データベース初期化時に下記のメッセージが出力され、 書籍では作成されると書いてある「var」フォルダが 作成されません。 [root@2 usr]# /usr/local/mysql/bin/mysql_install_db --user=mysql Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/local/mysql/bin/mysqladmin -u root password 'new-password' /usr/local/mysql/bin/mysqladmin -u root -h 2.0.168.192.in-addr.arpa password 'new-password' Alternatively you can run: /usr/local/mysql/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/local/mysql/bin/mysqlbug script! The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com どなたか対処方が分る方教えて下さい。 よろしくお願いいたします。