स्थानीय phpMyAdmin क्लाइंट के साथ रिमोट सर्वर का उपयोग कैसे करें?


134

मान लें कि एक दूरस्थ सर्वर है और मेरे पास मेरे कंप्यूटर पर phpMyAdmin क्लाइंट स्थानीय स्थापित है। मैं इस सर्वर तक कैसे पहुँच सकता हूँ और इसे phpMyAdmin क्लाइंट के माध्यम से प्रबंधित कर सकता हूँ? क्या यह संभव है?


1
आप phpmyadminस्थानीय रूप से डॉकटर छवि भी स्थापित कर सकते हैं और अपने दूरस्थ MySQL सर्वर से जुड़ सकते हैं। यहाँ पर अधिक जानकारी :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin
जिओ

जवाबों:


175

नीचे में अपनी /etc/phpmyadmin/config.inc.phpफ़ाइल में बस नीचे की पंक्तियाँ जोड़ें :

$i++;
$cfg['Servers'][$i]['host'] = 'HostName:port'; //provide hostname and port if other than default
$cfg['Servers'][$i]['user'] = 'userName';   //user name for your remote server
$cfg['Servers'][$i]['password'] = 'Password';  //password
$cfg['Servers'][$i]['auth_type'] = 'config';       // keep it as config

। आपको "करंट सर्वर:" दोनों "127.0.0.1" और जो आपने "$ cfg ['सर्वर'] [$ i] ['होस्ट']" कैम स्विच के बीच प्रदान किया है, के साथ छोड़ दें।

अधिक विवरण: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/


16
यह $i++एक महत्वपूर्ण बिंदु है क्योंकि यह हमें डिफ़ॉल्ट के साथ डेटाबेस कनेक्शन नहीं खोएगा localhost
गौरव रामानन

मुझे यह काम करने के लिए phpMyAdmin में स्थापित करने के बाद इस पद के चरणों का पालन करना था ।
अहमद अख्तर

2
/etc/phpmyadmin/config.inc.phpबदलने के लिए सही फ़ाइल है
जिओ

उपरोक्त विधि बिल्कुल सही है, लेकिन आप सभी ने मुझे यह क्यों नहीं बताया कि मुझे अपने आईपी पते को दूरस्थ mySql में जोड़ना या प्राप्त करना होगा। अन्यथा यह काम नहीं करेगा। दोस्तों कृपया इसे भी नोट करें
जयदीप गोस्वामी

अगर कोई भी Apple सिस्टम पर काम कर रहा है तो config.inc.phpफ़ाइल फ़ाइल पर स्थित है Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
अनिरुद्ध महाले

23

यह निश्चित रूप से एक दूरस्थ MySQL सर्वर को phpMyAdmin के स्थानीय उदाहरण से एक्सेस करना संभव है, क्योंकि अन्य उत्तरों ने बताया है। और उस काम के लिए, आपको दूरस्थ कनेक्शन को स्वीकार करने के लिए रिमोट सर्वर के MySQL सर्वर को कॉन्फ़िगर करना होगा , और MySQL को सुन रहे पोर्ट नंबर के लिए फ़ायरवॉल के माध्यम से ट्रैफ़िक की अनुमति दें। मैं SSH टनलिंग से जुड़े एक अलग समाधान को पसंद करता हूं ।

निम्नलिखित कमांड एक एसएसएच सुरंग स्थापित करेगा जो रिमोट मशीन पर आपके स्थानीय मशीन से 3306 पोर्ट के लिए 3307 पोर्ट के लिए किए गए सभी अनुरोधों को आगे बढ़ाएगा:

ssh -NL 3307:localhost:3306 root@REMOTE_HOST

जब संकेत दिया जाता है, तो आपको रिमोट मशीन पर रूट उपयोगकर्ता के लिए पासवर्ड दर्ज करना चाहिए। इससे सुरंग खुल जाएगी। यदि आप इसे पृष्ठभूमि में चलाना चाहते हैं, तो आपको -fतर्क जोड़ने की आवश्यकता होगी , और अपने स्थानीय मशीन और रिमोट मशीन के बीच पासवर्ड रहित एसएसएच स्थापित करना होगा ।

आपके द्वारा SSH सुरंग काम करने के बाद, आप /etc/phpmyadmin/config.inc.phpफ़ाइल को संशोधित करके दूरस्थ सर्वर को अपने स्थानीय phpMyAdmin में सर्वर सूची में जोड़ सकते हैं । फ़ाइल के अंत में निम्नलिखित जोड़ें:

$cfg['Servers'][$i]['verbose']       = 'Remote Server 1';// Change this to whatever you like.
$cfg['Servers'][$i]['host']          = '127.0.0.1';
$cfg['Servers'][$i]['port']          = '3307';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysqli';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
$i++;

मैंने इस बारे में अधिक गहराई से ब्लॉग पोस्ट लिखी है , यदि आपको अतिरिक्त सहायता की आवश्यकता है।


1
मुझे लगता है कि यह सुरक्षित उपाय है। दूरस्थ पहुँच के लिए mySQL को खोलना आमतौर पर एक खराब सुरक्षा अभ्यास माना जाता है यदि यह बिल्कुल आवश्यक नहीं है।
ओमण

1
c.hill का जवाब काफी सही नहीं है। कृपया ध्यान दें: बाइंड एड्रेस को mysql my.cnf फाइल में लूप बैक एड्रेस पर सेट किया जाना चाहिए।

रिमोट होस्ट पर रूट करने की आवश्यकता नहीं है। पुल पूरी तरह से काम करता है, धन्यवाद! मैं विन्यास के बारे में इतना निश्चित नहीं हूं, हालांकि, सुरेश कमरुशी का जवाब पसंद करते हैं। $++निश्चित रूप से पहली पंक्ति होनी चाहिए, अंतिम नहीं, कम से कम मेरे डिफ़ॉल्ट phpmyadmin.conf के लिए।
21

मैं बस एक ऐसे मामले में भाग गया, जहाँ मुझे $ cfg ['Servers'] [$ i] ['schem_type'] = 'config ’को बदलने की आवश्यकता थी; // इसे $ cfg ['Servers'] [$ i] ['Ord_type'] = 'cooker' के लिए कॉन्फ़िगर के रूप में रखें; // इसे कॉन्फिग के रूप में रखें। तो उस टिप के लिए धन्यवाद!
फिल लॉरेल

सबसे अच्छा समाधान!
घासेम सदिघी

23

यह किया जा सकता है, लेकिन आपको phpMyAdmin कॉन्फ़िगरेशन बदलने की आवश्यकता है, इस पोस्ट को पढ़ें: http://www.danielmois.com/article/Manage_remote_dat डेटाबेस_from_localhost_with_phpMinAdmin

यदि किसी कारण से लिंक मर जाता है, तो आप निम्न चरणों का उपयोग कर सकते हैं:

  • PhpMyAdmin की कॉन्फ़िगरेशन फ़ाइल ढूंढें, जिसे कहा जाता है config.inc.php
  • $cfg['Servers'][$i]['host']चर का पता लगाएं , और इसे अपने दूरस्थ सर्वर के आईपी या होस्टनाम पर सेट करें
  • $cfg['Servers'][$i]['port']चर का पता लगाएं , और इसे दूरस्थ mysql पोर्ट पर सेट करें। आमतौर पर यह है3306
  • $cfg['Servers'][$i]['user']और $cfg['Servers'][$i]['password']चर ढूंढें और इन्हें दूरस्थ सर्वर के लिए अपने उपयोगकर्ता नाम और पासवर्ड पर सेट करें

उचित सर्वर कॉन्फ़िगरेशन के बिना, कनेक्शन स्थानीय कनेक्शन की तुलना में धीमा हो सकता है, उदाहरण के लिए, होस्टनाम से आईपी पते को देखने के लिए सर्वर से बचने के लिए होस्ट नामों के बजाय आईपी पते का उपयोग करना थोड़ा तेज़ होगा।

इसके अलावा, याद रखें कि जब आप इस तरह से कनेक्ट करते हैं, तो आपके दूरस्थ डेटाबेस का उपयोगकर्ता नाम और पासवर्ड सादे पाठ में संग्रहीत किया जाता है, इसलिए आपको यह सुनिश्चित करने के लिए कदम उठाना चाहिए कि कोई भी इस कॉन्फ़िगरेशन फ़ाइल तक नहीं पहुंच सकता है। वैकल्पिक रूप से, आप उपयोगकर्ता नाम और पासवर्ड वैरिएबल को खाली छोड़ सकते हैं ताकि आप उन्हें हर बार लॉग इन करने के लिए संकेत दे सकें, जो कि अधिक सुरक्षित है।


3
आपको डेटाबेस उदाहरण पर फ़ायरवॉल की भी आवश्यकता होती है ताकि ट्रैफ़िक की अनुमति हो, और रिमोट एक्सेस के लिए विशेषाधिकारों के साथ DB सर्वर पर एक उपयोगकर्ता।
सिजयोज़

क्या मैं यहाँ एक प्रश्न पूछ सकता हूँ? जैसा कि मैं नौसिखिया हूं, मैं उत्सुक हूं कि मेरे पास अपने क्लाइंट के सर्वर पर स्थापित होने वाले phpMyAdmin के माध्यम से एक डेटाबेस तक पहुंचने के लिए लिंक को किस रूप में ब्राउज़र में दर्ज करना चाहिए, जो एक वेबसाइट खुद को होस्ट करता है।
गरवानी

11

इस ब्लॉग पोस्ट का अनुसरण करें। आप इसे बहुत आसानी से कर सकते हैं। https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/

फ़ाइल config.inc.php में आपके phpMyAdmin इंस्टॉलेशन के लिए कॉन्फ़िगरेशन सेटिंग्स हैं। यह प्रत्येक सर्वर के लिए कॉन्फ़िगर विकल्पों के सेट को स्टोर करने के लिए एक सरणी का उपयोग करता है और डिफ़ॉल्ट रूप से यह केवल एक ही है, आपकी खुद की मशीन, या स्थानीयहोस्ट। किसी अन्य सर्वर से कनेक्ट करने के लिए, आपको कॉन्फ़िगर विकल्प का एक और सेट कॉन्फ़िगर सरणी में जोड़ना होगा। आपको इस कॉन्फ़िगरेशन फ़ाइल को संपादित करना होगा।

सबसे पहले phpMyAdmin फोल्डर में config.inc.php फाइल खोलें । में WAMP सर्वर, आप पा सकते हैं उस में WAMP \ क्षुधा \ phpmyadmin फ़ोल्डर। फिर उस फ़ाइल में निम्नलिखित भाग जोड़ें।

$i++;
$cfg['Servers'][$i]['host']          = 'hostname/Ip Adress';
$cfg['Servers'][$i]['port']          = '';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = 'username';
$cfg['Servers'][$i]['password']      = 'password';

आइए देखें कि इस चर का अर्थ क्या है।

$i++ :- Incrementing variable for each server
$cfg[‘Servers’][$i][‘host’] :- Server host name or IP adress
$cfg[‘Servers’][$i][‘port’] :- MySQL port (Leave a blank for default port. Default MySQL port is 3306)
$cfg[‘Servers’][$i][‘socket’] :- Path to the socket (Leave a blank for default socket)
$cfg[‘Servers’][$i][‘connect_type’] :- How to connect to MySQL server (‘tcp or socket’)
$cfg[‘Servers’][$i][‘extension’] :- php MySQL extension to use (‘mysql or msqli’)
$cfg[‘Servers’][$i][‘compress’] :- Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
$cfg[‘Servers’][$i][‘auth_type’] :- Method of Authentication
$cfg[‘Servers’][$i][‘username’] :- Username to the MySQL database in remote server
$cfg[‘Servers’][$i][‘password’] :- Password to the MySQL database int he remote server

इस कॉन्फ़िगरेशन भाग को जोड़ने के बाद, आप सर्वर को पुनरारंभ करें और अब आपका phpMyAdmin होम पेज बदल जाएगा और यह सर्वर का चयन करने के लिए एक फ़ील्ड दिखाएगा।

अब आप सर्वर का चयन कर सकते हैं और उस डेटाबेस के लिए उपयोगकर्ता नाम और पासवर्ड दर्ज करके अपने दूरस्थ डेटाबेस तक पहुँच सकते हैं।


1
कृपया अधिक सटीक हो सकता है और अपने उत्तर के बारे में अधिक बता सकता है। लिंक उत्तर अच्छे हैं, लेकिन लिंक के किसी भी कारण से भ्रष्ट होने पर यह अनुपलब्ध हो सकता है।
मिलाद फरीदनिया

9

जैसा कि उत्तर c.hill उत्तर में कहा गया है , यदि आप एक सुरक्षित समाधान चाहते हैं तो मैं आपके सर्वर पर एक SSH सुरंग खोलने की सलाह दूंगा ।

यहाँ विंडोज उपयोगकर्ताओं के लिए यह करने का तरीका है :

  1. पोटीन वेबसाइट से पलक और पोटी को डाउनलोड करें और अपनी पसंद के फ़ोल्डर में फाइलें रखें (मेरे उदाहरण में C:\Putty)

  2. विन्डोज़ कंसोल और सीडी को प्लिन्क फोल्डर में खोलें: cd C:\Putty

  3. SSH सुरंग खोलें और पोर्ट 3307 पर पुनर्निर्देशित करें:

    plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk

कहाँ पे:

  • 3307 वह स्थानीय पोर्ट है जिसे आप रीडायरेक्ट करना चाहते हैं
  • localhost दूरस्थ सर्वर पर MySQL DB का पता है (डिफ़ॉल्ट रूप से लोकलहोस्ट)
  • 3306 रिमोट सर्वर पर PhpMyAdmin के लिए पोर्ट का उपयोग है (डिफ़ॉल्ट रूप से 3306)

अंत में आप PhpMyAdmin सेटअप कर सकते हैं:

  1. Config.inc.php के अंत में निम्न पंक्ति जोड़कर दूरस्थ सर्वर को अपने स्थानीय PhMMyAdmin कॉन्फ़िगरेशन में जोड़ें

जोड़ने के लिए लाइनें:

$i++;   
$cfg['Servers'][$i]['verbose']          = 'Remote Dev server';
$cfg['Servers'][$i]['host']             = 'localhost';
$cfg['Servers'][$i]['port']             = '3307';
$cfg['Servers'][$i]['connect_type']     = 'tcp';
$cfg['Servers'][$i]['extension']        = 'mysqli';
$cfg['Servers'][$i]['compress']         = FALSE;
$cfg['Servers'][$i]['auth_type']        = 'cookie';
  1. आपको अभी कनेक्ट करने में सक्षम होना चाहिए http://127.0.0.1/phpmyadmin

यदि आप प्रत्येक बार अपने दूरस्थ सर्वर से कनेक्ट होने के लिए कंसोल को खोलना नहीं चाहते हैं, तो बस एक बैच फ़ाइल (2 कमांड लाइनों को एक .bat फ़ाइल में सहेजकर) बनाएं।


6

आप अपने phpMyAdmin स्थापना के config.inc.php फ़ाइल में सेट कर सकते हैं।

$cfg['Servers'][$i]['host'] = '';

5

मैंने इसे एक टिप्पणी के रूप में जोड़ा होगा, लेकिन मेरी प्रतिष्ठा अभी बहुत अधिक नहीं है।

संस्करण 4.5.4.1deb2ubuntu2 के तहत, और मैं किसी अन्य संस्करण 4.5.x या नए का अनुमान लगा रहा हूं। Config.inc.php फ़ाइल को बिल्कुल भी संशोधित करने की आवश्यकता नहीं है। इसके बजाय एक और निर्देशिका नीचे जाओ।

'.Php' एक्सटेंशन के साथ एक नई फ़ाइल बनाएँ और लाइनें जोड़ें। यह एक बेहतर मॉड्यूलर दृष्टिकोण है और प्रत्येक दूरस्थ डेटाबेस सर्वर एक्सेस जानकारी को अलग करता है।


2

बहुत नीचे फ़ाइल \ phpMyAdmin \ config.inc.php पर जाएं, होस्टिंग विवरण जैसे होस्ट, उपयोगकर्ता नाम, कीवर्ड आदि को बदल दें।


2

उबंटू में

बस आपको PHPMyAdmin फ़ोल्डर में एक एकल फ़ाइल को संशोधित करने की आवश्यकता है, अर्थात "config.inc.php"। बस अपने "config.inc.php" के नीचे की पंक्तियों को जोड़ें।

फ़ाइल स्थान: /var/lib/phpmyadmin/config.inc.phpया /etc/phpmyadmin/config.inc.php

हो सकता है कि आपके पास उस फ़ाइल को संपादित करने की अनुमति न हो, बस इस आदेश का उपयोग करके अनुमति दें

sudo chmod 777 /var/lib/phpmyadmin/config.inc.php

या (अलग-अलग प्रणालियों में आपको इन दो स्थानों से जांच करनी पड़ सकती है)

sudo chmod 777 /etc/phpmyadmin/config.inc.php

फिर अपनी config.inc.phpफाइल में कोड को कॉपी और पेस्ट करें

    $i++;
    $cfg['Servers'][$i]['auth_type']     = 'cookie';
    $cfg['Servers'][$i]['verbose'] = 'Database Server 2';
    $cfg['Servers'][$i]['host'] = '34.12.123.31';
    $cfg['Servers'][$i]['connect_type']  = 'tcp';
    $cfg['Servers'][$i]['compress']      = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = false;

और अपने सर्वर विवरण के साथ उचित परिवर्तन करें


1

विधि 1 (बहुस्तरीय के लिए)

सबसे पहले, मूल कॉन्फ़िगरेशन का बैकअप बनाने देता है।

sudo cp /etc/phpmyadmin/config.inc.php      ~/ 

अब / usr / share / doc / phpmyadmin / उदाहरण में / आपको एक फ़ाइल config.manyhosts.inc.pp दिखाई देगा । बस कॉपी / / etc / phpmyadmin / कमांड बलो का उपयोग करके:

sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
        /etc/phpmyadmin/config.inc.php

Config.inc.php को संपादित करें

sudo nano /etc/phpmyadmin/config.inc.php 

निम्न को खोजें :

$hosts = array (
    "foo.example.com",
    "bar.example.com",
    "baz.example.com",
    "quux.example.com",
);

और अपना IP या hostname array save (नैनो CTRL + X प्रेस Y में) जोड़ें और बाहर निकलें। किया हुआ

विधि 2 (एकल सर्वर) config.inc.php संपादित करें

sudo nano /etc/phpmyadmin/config.inc.php 

निम्न को खोजें :

/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['host'] = $dbserver;

if (!empty($dbport) || $dbserver != 'localhost') {
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['port'] = $dbport;
}

और इसके साथ बदलें:

$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';

अपने खुद के mysql आईपी सर्वर के साथ 192.168.1.100 को बदलने के लिए रिमेम्बर

मेरी खराब अंग्रेजी के लिए क्षमा करें (Google अनुवाद में दोष है: D)


1

जैसा कि मैंने परीक्षण किया है यह फ़ाइल config.default.php को खोजता है

फिर $ cfg ['AllowArbiteathServer'] = false पर जाएं;

फिर इसे सच पर सेट करें

नोट: रास्ते में फ़ाइल ubuntu पर /usr/share/phpmyadmin/lbooks/config.default.php

फिर आपको मुख्य PHPMyAdmin पेज में एक नया दायर नाम SERVER मिलेगा, आप इसे स्थानीय डेटाबेस के लिए किसी भी आईपी या लोकलहोस्ट में जोड़ सकते हैं।


0

Wamp सर्वर के साथ Windows में स्थापित आपको कॉन्फ़िगरेशन फ़ाइल मिल सकती है

C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php

बोलो लाइन को उचित रूप में बदलें

$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3306;//$wampConf['mysqlPortUsed'];
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';

-1

की पूरी प्रविष्टियाँ हटाएँ /etc/http/conf.d/phpMyAdmin.conf

और नीचे उपरोक्त फ़ाइल में एंट्री होती है,

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       #ADD following line:
       Require all granted
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     #CHANGE following 2 lines:
     Order Allow,Deny
     Allow from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

फिर,

MySQL प्रॉम्प्ट में कमांड के नीचे चलाएं,

GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'

GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'

संदर्भ के लिए: आईपी ​​को सुरक्षित PhpMyAdmin तक पहुंचने दें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.