Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मिनीक्यूब से लोकलहोस्ट पर चल रहे mysql को एक्सेस करें

OS और मिनीक्यूब के रूप में vm-driver उल्लेख नहीं किया गया था, मुझे लगता है कि यह है --vm-driver=virtualbox क्योंकि यह शायद सबसे आम मामला है। यदि आप कुछ अलग उपयोग करते हैं तो आपको इस समाधान को अपने कॉन्फ़िगरेशन के अनुसार समायोजित करने की आवश्यकता है।

स्पष्टीकरण:

127.0.0.1 एक localhost है (lo0 ) इंटरफ़ेस आईपी पता। नोड्स, होस्ट और पॉड्स के अपने लोकलहोस्ट इंटरफेस होते हैं और वे एक दूसरे से जुड़े नहीं होते हैं।

आपका mysql-server होस्ट मशीन पर चल रहा है और localhost . का उपयोग करके पहुँचा नहीं जा सकता (या यह आईपी रेंज है) मिनीक्यूब क्लस्टर पॉड के अंदर से या मिनीक्यूब vm के अंदर से।

समाधान:

  1. आपके पास मिनीक्यूब वीएम और होस्ट के बीच एक नेटवर्क होना चाहिए। वर्चुअलबॉक्स में डिफ़ॉल्ट NAT नेटवर्क उसके लिए अच्छा नहीं है, इसलिए एक और होस्ट-ओनली नेटवर्क बनाना बेहतर है। आइए बनाएं वर्चुअलबॉक्स UI में अतिरिक्त होस्ट-ओनली नेटवर्क vmnet2 . नाम के साथ और आईपी रेंज 192.168.77.1/24 . आपको उस नेटवर्क के लिए DHCP सक्षम करने की आवश्यकता नहीं है।

  2. इंटरफ़ेस vmnet2 या ip 192.168.77.1 पर सुनने के लिए आपको mysql को कॉन्फ़िगर करना होगा जो डिफ़ॉल्ट रूप से होस्ट मशीन के लिए उपयोग किया जाता है। जांचें कि क्या यह होस्ट से पहुंच योग्य है:

mysql -h 192.168.77.1 -u root -p 
  1. इस नेटवर्क को मिनीक्यूब से जोड़ने के लिए VM --host-only-cidr कुंजी का उपयोग किया जाना चाहिए। विभिन्न प्रकार के vm-driver इस उद्देश्य के लिए विभिन्न क्ली विकल्पों का उपयोग करें। minikube start --help देखें आउटपुट तो, virtualbox . के लिए यह निम्न जैसा दिखेगा:

    minikube start --cpus 2 \
                   --memory 2048 \
                   --disk-size 20g \
                   --vm-driver virtualbox \
                   --network-plugin flannel \
                   --kubernetes-version v1.12.2 \
                   --host-only-cidr 192.168.77.1/24
    

    मैंने सुविधा के लिए अन्य सबसे आम क्ली विकल्प लिखे हैं।

    MinikubeVM को निम्न IP पता मिलेगा:192.168.77.100 (कम से कम पहली बार। ) आप इसे minikube ssh . का उपयोग करके देख सकते हैं और फिर ifconfig आदेश।

  2. अंतिम भाग - हमें इसके लिए minikube . के अंदर एक सेवा और समापन बिंदु बनाने की आवश्यकता है क्लस्टर:

kubectl apply -f mysql-service.yaml

यहां mysql-service.yaml की सामग्री दी गई है फ़ाइल:

---
apiVersion: v1
kind: Service
metadata:
   name: mysql-service
spec:
   type: ClusterIP
   ports:
   - protocol: TCP
     port: 3306
     targetPort: 3306
---
apiVersion: v1
kind: Endpoints
metadata:
  name: mysql-service
subsets:
  - addresses:
      - ip: 192.168.77.1
    ports:
      - port: 3306
  1. अब हम mysql-service का उपयोग कर सकते हैं नाम और पोर्ट 3306 इस क्लस्टर के किसी भी पॉड के अंदर एक गंतव्य बिंदु के रूप में।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चुनें कि क्या मौजूद है और डालें?

  2. घातक त्रुटि:function.php लाइन 25 . में session_start () को फिर से घोषित नहीं कर सकता

  3. ड्रॉप डाउन वैल्यू के आधार पर ऑटो फिल टेक्स्ट बॉक्स

  4. एक MySQL डेटाबेस बैक-एंड के फ्रंट-एंड के रूप में MS Access का उपयोग करने में समस्याएँ?

  5. MySQL में लेनदेन को संभालना