0

そのため、Perl DBI モジュールを使用して、root アクセス権を持っていないサーバー Linux マシン上の MySQL データベースにアクセスしています。管理者が MySQL をインストールし、データベースを作成してくれました。データベースにアクセスするための Perl スクリプトを書くことができます。

次に、MySQL をローカル スペースにインストールし、ローカルにインストールされた mysql 実行可能ファイルを使用するように環境変数を変更しました。コマンドラインからデータベースにアクセスできます。しかし、それに応じてPerlスクリプトを変更して実行すると、「アクセスが拒否されました」というエラーが発生しました。また、Perl スクリプトは管理者がインストールした mysql を使用してアクセスしようとしているようです。

では、どうすればこれを解決できますか?

接続方法は次のとおりです。

my $conn = DBI->connect("dbi:mysql:dbname:localhost:3366", "root", "root")
    or die DBI::errstr;
4

2 に答える 2

1

解決策を見つけたので、自分の質問に答えます。

私がしたことは、perl DBD-mysql モジュールを再コンパイルしてインストールし、ローカルにインストールされた mysql のパスを与えることです。

perl Makefile.PL PREFIX=/path/to/perl/local/lib 
             --mysql_config=/path/to/locally_installed_mysql/bin/mysql_config

参照: http://cpansearch.perl.org/src/RUDY/DBD-mysql-2.9008/INSTALL.html

于 2013-04-24T14:45:06.283 に答える