仮想マシンからドメイン内のデータベースに接続しようとしています。 XPでは機能しますが、Win7では機能せず、「OperationalError:(1042、 "Ca n't get hostname for your address")」で終了します。
さて、ファイアウォールなどを無効にしてみましたが、とにかく問題ありません。すべてを遅くするだけのDNS解決は必要ありません。したがって、「skip-name-resolve」オプションを使用したいのですが、MySQLdb for Pythonを使用するときにmy.iniまたはmy.cnfがないので、このオプションをどのように使用できますか?
あなたの助けをありがとう-アレックス
/etc/mysql/my.cnfファイルに次の行(skip-name-resolve)を追加します
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
skip-name-resolve
Mysqlサーバーを再起動します
これは、サーバー上のMySQL構成ファイルで設定する必要があるオプションです。 MySQLdb
などのクライアントAPIでは設定できません。これは、潜在的なセキュリティの影響によるものです。
つまり、特定のホスト名からのアクセスを拒否したい場合があります。 skip-name-resolve
有効、これは機能しません。 (確かに、ホスト名によるアクセス制御はおそらくとにかく最良のアイデアではありません。)