Подтвердить что ты не робот

Как получить доступ к удаленному серверу с помощью локального клиента phpMyAdmin?

Предполагая наличие удаленного сервера, и у меня установлен клиент phpMyAdmin локально на моем компьютере. Как я могу получить доступ к этому серверу и управлять им через клиент phpMyAdmin? Это возможно?

4b9b3361

Ответ 1

Просто добавьте ниже строки в файл "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 ['Servers'] [$ i] ['host']" кулачкового переключателя между серверами.

Подробнее: http://goo.gl/FZ6nqD

Ответ 2

Это можно сделать, но вам нужно изменить конфигурацию phpMyAdmin, прочитайте это сообщение: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin

Если по какой-либо причине ссылка замирает, вы можете использовать следующие шаги:

  • Найдите файл конфигурации phpMyAdmin, называемый config.inc.php
  • Найдите переменную $cfg['Servers'][$i]['host'] и установите ее на IP-адрес или имя хоста вашего удаленного сервера.
  • Найдите переменную $cfg['Servers'][$i]['port'] и установите ее в удаленный порт mysql. Обычно это 3306
  • Найдите переменные $cfg['Servers'][$i]['user'] и $cfg['Servers'][$i]['password'] и установите их на свое имя пользователя и пароль для удаленного сервера.

Без надлежащей конфигурации сервера соединение может быть медленнее, чем локальное подключение, например, было бы немного быстрее использовать IP-адреса вместо имен хостов, чтобы сервер не искал IP-адрес из имени хоста.

Кроме того, помните, что ваше имя и пароль удаленной базы данных хранятся в текстовом формате при подключении таким образом, поэтому вы должны принять меры, чтобы никто не мог получить доступ к этому конфигурационному файлу. Кроме того, вы можете оставить пустые имена имени пользователя и пароля, чтобы их предложили вводить их каждый раз при входе в систему, что намного безопаснее.

Ответ 3

Конечно, можно получить доступ к удаленному серверу MySQL из локального экземпляра phpMyAdmin, как указывали другие ответы. И для этого вам нужно настроить сервер удаленного сервера MySQL для приема удаленных подключений и разрешить трафик через брандмауэр для номера порта, который слушает MySQL. Я предпочитаю немного другое решение, включающее SSH Tunneling.

Следующая команда настроит туннель SSH, который переадресует все запросы, сделанные на порт 3307, с вашей локальной машины на порт 3306 на удаленном компьютере:

ssh -NL 3307:localhost:3306 [email protected]_HOST

При появлении запроса вы должны ввести пароль для пользователя root на удаленном компьютере. Это откроет туннель. Если вы хотите запустить это в фоновом режиме, вам нужно добавить аргумент -f и настроить Passwordless SSH между вашим локальным компьютером и удаленным компьютером.

После того, как вы используете туннель SSH, вы можете добавить удаленный сервер в список серверов в локальном phpMyAdmin, изменив файл /etc/phpmyadmin/config.inc.php. Добавьте в конец файла следующее:

$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++;

Я написал более подробное сообщение в блоге об этом, если вам нужна дополнительная помощь.

Ответ 4

Следуйте за этим сообщением в блоге. Вы можете сделать это очень легко. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/

В файле config.inc.php содержатся параметры конфигурации для установки phpMyAdmin. Он использует массив для хранения наборов параметров конфигурации для каждого сервера, к которому он может подключиться, и по умолчанию есть только один, ваш собственный компьютер или локальный хост. Чтобы подключиться к другому серверу, вам придется добавить еще один набор параметров конфигурации в конфигурационный массив. Вы должны отредактировать этот файл конфигурации.

Сначала откройте файл config.inc.php, хранящийся в папке phpMyAdmin. На сервере wamp вы можете найти его в папке wamp\apps\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 изменится и отобразит поле для выбора сервера.

Теперь вы можете выбрать свой сервер и получить доступ к своей удаленной базе данных, введя имя пользователя и пароль для этой базы данных.

Ответ 5

Вы можете установить в файле config.inc.php вашу установку phpMyAdmin.

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

Ответ 6

Как указано в ответе c.hill, если вы хотите безопасное решение, я бы посоветовал открыть SSH-туннель на вашем сервере.

Вот как это сделать для пользователей Windows:

  • Загрузите Plink и Putty из сайта Putty и поместите файлы в папку по вашему выбору (в моем примере C:\Putty)

  • Откройте консоль Windows и cd в папку Plink: cd C:\Putty

  • Откройте туннель SSH и перенаправите его на порт 3307:

    plink -L 3307:localhost:3306 [email protected]_ip -i path_to_your_private_key.ppk

Где:

  • 3307 - это локальный порт, который вы хотите перенаправить на
  • localhost - это адрес БД MySQL на удаленном сервере (по умолчанию localhost)
  • 3306 - это использование порта для PhpMyAdmin на удаленном сервере (по умолчанию 3306).

Наконец, вы можете настроить PhpMyAdmin:

  1. Добавьте удаленный сервер в локальную конфигурацию PhpMyAdmin, добавив следующую строку в конец config.inc.php

Строки для добавления:

$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).

Ответ 7

Я бы добавил это как комментарий, но моя репутация еще не достаточно высока.

В версии 4.5.4.1deb2ubuntu2, и я угадываю любые другие версии 4.5.x или новее. Нет необходимости изменять файл config.inc.php вообще. Вместо этого перейдите еще один каталог вниз conf.d.

Создайте новый файл с расширением .php и добавьте строки. Это лучший модульный подход и изолирует каждую информацию о доступе к удаленному серверу базы данных.

Ответ 8

В Ubuntu

Просто вам нужно изменить один файл в папке 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;

И внесите соответствующие изменения с данными вашего сервера

Ответ 9

Перейдите в файл \phpMyAdmin\config.inc.php в самом низу, измените данные хоста, такие как хост, имя пользователя, пароль и т.д.