12

仮想マシンからドメイン内のデータベースに接続しようとしています。XPでは動作しますが、Win7では動作せず、「OperationalError:(1042、 "アドレスのホスト名を取得できません")」で終了します。

今、ファイアウォールなどを無効にしてみましたが、それはとにかく問題ではありません。DNSを解決する必要はありません。DNSを解決すると、すべてが遅くなるだけです。したがって、オプション「skip-name-resolve」を使用したいのですが、Python用のMySQLdbを使用する場合はmy.iniまたはmy.cnfがないので、このオプションを引き続き使用するにはどうすればよいですか?

あなたの助けをありがとう-アレックス

4

2 に答える 2

37

/etc/mysql/my.cnf ファイルに次の行 (skip-name-resolve) を追加します。

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
skip-name-resolve

そしてmysqlサーバーを再起動します

于 2013-04-03T12:04:52.397 に答える
1

これは、サーバー上の MySQL 構成ファイルで設定する必要があるオプションです。などのクライアント API では設定できませんMySQLdb。これは、潜在的なセキュリティへの影響のためです。

つまり、特定のホスト名からのアクセスを拒否したい場合があります。有効にskip-name-resolveすると、これは機能しません。(確かに、ホスト名によるアクセス制御はおそらく最良のアイデアではありません。)

于 2011-07-12T17:05:06.677 に答える