1

Python を使用してローカルで実行されている MySQL への接続を確立しようとしています。私は次のコードを使用します

import MySQLdb
db = MySQLdb.connect("localhost","username","password","dbname")

私は仮想マシンで作業しており、VM で Python と MySQL の両方を実行しています。接続できません。

このエラーが発生します

OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")

localhost の代わりに VM の IP アドレスを提供しようとしましたが、まだ機能しませんでした。ポート番号も指定してみました。VM上で動くから接続が違うのか??

4

2 に答える 2

0

あなたが言ったのと同じマシン上にクライアントとmysqlサーバーがあり、mysqlサーバーが実行されていると仮定すると、次のことを試すことができます

my.cnfほとんどがLinuxにあるか/etc/mysql/my.cnf、Windowsのmysqlインストールを確認して見つけてください。my.cnf

ディレクティブを探し、VMホストにIPアドレスを設定します。Linuxの場合は、Windowsを使用してまたはWindowsbind-addressでVMIPを確認できます。ifconfigipconfig

skip-networkingリモートクライアントをまだ許可していない場合は、コメントアウトすることもできます

mysqldを再起動します

/etc/init.d/mysqld restartDebianベースのディストリビューション、service mysqld restartRedhatの場合、またはWindowsでmysqlサービスを再起動します

于 2013-02-05T15:42:40.153 に答える
0

コマンドラインからmysqlデータベースに直接接続しようとすると、機能しますか?

VMはどのOSを実行していますか?Unixの場合、mysqldプロセスが実行されていますか?

いずれにせよ、これはPythonとは何の関係もないかもしれません。コードスニペットは問題ないようです。接続の問題を解決する必要があります。この問題の根本に到達する方法の詳細については、このページを参照してください。

http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html

これがお役に立てば幸いです。

于 2013-02-05T15:14:44.483 に答える