MySQL [चेतावनी] आईपी पते को हल नहीं किया जा सका


27

मैं एक CentOS 6.1 आभासी में Windows XP पर चल मशीन पर MySQL5.6.3 चल रहा हूँ VirtualBox

नेटवर्क कार्ड ब्रिज मोड में कॉन्फ़िगर किया गया है, इसलिए मेरी भौतिक और आभासी मशीनें समान ईथरनेट कार्ड साझा करती हैं।

वर्चुअल मशीन पर, सब कुछ ठीक काम करता है: इंटरनेट एक्सेस, डीएनएस लुकअप। हालाँकि, MySQL डेमॉन से कनेक्शन में थोड़ा समय लगता है, और लॉग इस चेतावनी को दिखाते रहते हैं:

[चेतावनी] आईपी एड्रेस '192.168.1.201' को हल नहीं किया जा सका: नाम समाधान में अस्थायी विफलता

192.168.1.201 मेरी होस्ट मशीन है जिस पर मैं MySQL क्लाइंट चला रहा हूं।

ऐसा लगता है कि यद्यपि DNS लुकअप ठीक काम करते हैं, उल्टे DNS लुकअप एक टाइमआउट में समाप्त हो जाते हैं।

यहां वर्चुअल मशीन कॉन्फ़िगरेशन है:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="08:00:27:4B:3D:7C"
NM_CONTROLLED="yes"
ONBOOT="yes"
NETMASK=255.255.255.0
IPADDR=192.168.1.200
GATEWAY=192.168.1.1
PEERDNS=yes

# cat /etc/resolv.conf
nameserver 192.168.1.1

क्या मेरे नेटवर्क कॉन्फ़िगरेशन में कुछ गड़बड़ है?


इस सवाल के लिए मेरे एक और जवाब का उल्लेख करें: serverfault.com/a/778161/96578
अमीन श

जवाबों:


49

IMHO यह लगता है कि आपको DNS का उपयोग करने से रोकने के लिए mysqld की आवश्यकता है।

कृपया निम्नलिखित करें: इसे /etc/my.cnf में जोड़ें

[mysqld]
skip-host-cache
skip-name-resolve

उन्हें मेरा पुनः आरंभ करना तब से, mysql DNS के माध्यम से पते का समाधान नहीं करेगा।

कोशिश तो करो !!!

चेतावनी

कृपया MySQL प्रलेखन में इन विकल्पों को पढ़ें:

इसके अलावा, इसका उपयोग करने के लिए एक प्रतिबंध है: आप किसी भी अनुदान तालिका के होस्ट कॉलम में DNS नामों का उपयोग नहीं कर सकते।

UPDATE 2012-12-17 08:37 EDT

मैं हाल ही में अगर कहा गया था skip-host-cacheऔर skip-name-resolveएक mysql पुनः आरंभ करने के बिना स्थापित किया जा सकता है। चलो पता करते हैं:

mysql> show variables like '%host%';
+---------------+--------------+
| Variable_name | Value        |
+---------------+--------------+
| hostname      | ************ |
| report_host   |              |
+---------------+--------------+
2 rows in set (0.00 sec)

mysql> show variables like 'skip_%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| skip_external_locking | ON    |
| skip_name_resolve     | OFF   |
| skip_networking       | OFF   |
| skip_show_database    | OFF   |
+-----------------------+-------+
4 rows in set (0.00 sec)

mysql> set global skip_name_resolve = 1;
ERROR 1238 (HY000): Variable 'skip_name_resolve' is a read only variable
mysql>

जैसा कि दिखाया गया है, skip-host-cacheवैश्विक चर की सूची में दिखाई नहीं देता है। जैसा कि skip_name_resolve, यह दिखाई दे रहा था। हालाँकि, इसे गतिशील रूप से नहीं बदला जा सकता क्योंकि यह केवल पढ़ने योग्य चर है।

इसलिए, skip-host-cacheऔर skip-name-resolveकेवल mysql पुनरारंभ के माध्यम से बदला जा सकता है।


क्या हमें DNS लुक अप को अक्षम करने के प्रभाव के रूप में कोई समस्या है?
उदय

@ Mysql के भीतर एकमात्र चिंता यह है: आप होस्ट के कॉलम में प्रभावी रूप से DNS नाम का उपयोग नहीं कर सकते mysql.user। यदि आपके पास कोई है, तो आपको उन्हें सार्वजनिक या निजी (बेहतर) आईपी पते के बजाय बदलने की आवश्यकता है।
RolandoMySQLDBA

@RolandoMySQLDBA MySql को जोड़ने skip-host-cacheऔर skip-name-resolveपुनः आरंभ किए बिना एक तरीका है ?
रान

@ रान क्षमा करें, उत्तर नहीं है। मैंने इसे दर्शाने के लिए अपना उत्तर अपडेट किया।
रोलैंडमाइसीडीडीबीए

क्या लोकलहोस्ट या किसी अन्य मुद्दे से कनेक्टिविटी जैसी कोई संभावित समस्या हो सकती है ? मैं आईपी के लिए समस्या का सामना कर रहा हूं243.221.167.124.adsl-pool.sx.cn
मलय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.