Предполагая наличие удаленного сервера, и у меня установлен клиент phpMyAdmin локально на моем компьютере. Как я могу получить доступ к этому серверу и управлять им через клиент phpMyAdmin? Это возможно?
Как получить доступ к удаленному серверу с помощью локального клиента phpMyAdmin?
Ответ 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:
- Добавьте удаленный сервер в локальную конфигурацию 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';
- Теперь вы можете подключиться к
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 в самом низу, измените данные хоста, такие как хост, имя пользователя, пароль и т.д.