
以下のようなスクリプトで、以下のようなエラーになっています。
port(socket)を指定しているにもかかわらず使用されない理由も分からないのですが、エラーメッセージのsocketはどこで設定されているのでしょうか?
/etc/my.cnf で /tmp/mysql.sock を指定し、サーバーとクライアントは問題なく通信できています。
よろしくお願いします。
■perlスクリプト
----------------------------------------
#!/usr/local/bin/perl
use DBI;
$user = 'usr';
$passwd = 'password';
$ds = 'DBI:mysql:db_name;host=localhost;port=/tmp/mysql.sock';
$db = DBI->connect($ds, $user, $passwd);
(以下略)
■perlスクリプトのエラー
----------------------------------------
$ ./script_name.pl
DBI connect('db_name;host=localhost;port=/tmp/mysql.sock','root',...) failed: Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (2) at ./script_name.pl line 9
■環境
----------------------------------------
mysql:バイナリの(rpmでないやつ)4.0.24-standard
OS:Linux 2.4.20-31.9(REDHAT)
DBD:DBD-mysql-2.9004
No.2ベストアンサー
- 回答日時:
参考URLによると、UNIXドメインのsocketの場合は、「mysql_socket」を指定するみたいですが。
portはINETドメイン用ではないかと。
参考URL:http://perldoc.jp/docs/modules/DBD-mysql-2.1026/ …
この回答への補足
http://dev.mysql.com/doc/mysql/ja/perl-dbi-class …によると、mysql_read_default_fileを指定するとmysqlの基本設定を読み込んでくれる事が分かりました。
補足日時:2005/05/01 15:08仰る通りでした。お恥ずかしい限りでございます。
どこかで誤解みたいで、portにsocketファイル名を書けばいいものと思い込んでしまったようです。
>クライアントに組みこまれているソケットのための
>場所以外を使うのでなければ、通常このオプション
>は必要ありません。
上記のように記載されているのですが、このクライアントとは何を指していて、どこから取得されているか分かりますでしょうか。my.cnfではないようなのです。
No.1
- 回答日時:
はじめまして。
スクリプトの中の、$ds=の行を
$ds = 'DBI:mysql:db_name:localhost';
としてもダメでしょうか?
socketの設定はmy.cnfの中で定義されてると思うのですが、/etcの中等にありませんか?
もしかしたらperl moduleのインストールに失敗してるのかもしれませんね。
当方の環境は、mysql(ver3.23)、DataDumper、DBI、Msql Mysql modules、osはsolarisです。
この回答への補足
>はじめまして。
はじめまして。
>スクリプトの中の、$ds=の行を
>$ds = 'DBI:mysql:db_name:localhost';
>としてもダメでしょうか?
はい。ダメなので socket を指定しているのですが、指定のsocketが利用されないようです。
>socketの設定はmy.cnfの中で定義されてると思うのですが、/etcの中等にありませんか?
mysqlサーバとクライアントではそれが使用され、問題なく通信出来ています。
しかしPerl DBD mydqlから接続しようとすると、my.cnfの内容は参照されないようです。
>もしかしたらperl moduleのインストールに失敗してるのかもしれませんね。
DBD::Mysqlのmake test で失敗します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
Perl の外部モジュールの利用方法
-
ファイルアイコンの左下に緑の□...
-
perlをバージョンアップしたら...
-
PerlでUTF-8のファイルの文字列...
-
perlで2次元配列をサブルーチ...
-
INDIRECT 横に再度抽出したい
-
ラズベリーパイ初心者です。 ラ...
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl言語を使用してます、
-
VBSについて教えてください。
-
Time::Pieceについて
-
エラー
-
メールフォームからの受信メー...
-
実行時パラメータを使用するとE...
-
PerlでIPアドレスを取得する方法
-
perlでランダムな文字列を作りたい
-
Image::Magickの使い方を教えて...
-
perlでactive directoryに登録
-
perlスクリプト s/^\\s+//; ...
-
awkのtoupper()
-
use warningsがうるさい?
-
何時間後を求める。
-
ActivePerl 1行入力で 'と"が...
-
Pod::Usageで日本語を使用する...
-
SocketでPOPサーバーから受けた...
-
Perlで長音
-
PerlからSSLのページを読み込み...
-
DBD::Mysql が使用する標準のso...
おすすめ情報