Если есть удаленный сервер и я установил клиент в phpmyadmin локально на моем компьютере. Как я могу получить доступ к этому серверу и управлять им через клиент в phpmyadmin? Это возможно?
Просто добавить ниже строки в файл `/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 в['сервера'][$Я]['хозяин']” кулачок переключения между серверами.
более детально: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
Это можно сделать, но нужно изменить настройки phpmyadmin, прочитайте этот пост: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
Если по каким либо причинам ссылка умрет, можно использовать следующие шаги:
config.inc.php
$cfg в['сервера'][$Я]['хозяин']
переменной, и установить его на IP-адрес или имя хоста вашего сервера удаленного$cfg в['сервера'][$Я]['порту']
переменной, и установить его в порт удаленное подключение к MySQL. Обычно это 3306
$cfg в['сервера'][$Я]['пользователей'] " и " $cfg в['сервера'][$Я]['пароль']
переменные и установить их на свой логин и пароль для входа на удаленный серверБез правильной конфигурации сервера, соединение может быть медленнее, чем локальное соединение например, это'ы, вероятно, будет немного быстрее, чтобы использовать IP-адреса вместо имен хостов, чтобы избежать сервер того, чтобы найти IP-адрес от имени хоста.
Кроме того, помните, что ваша удаленной базой данных'ы имя пользователя и пароль хранится в виде обычного текста при подключении вроде этого, так что вы должны предпринять шаги, чтобы гарантировать, что никто не может открыть этот файл config. Кроме того, вы можете оставить имя пользователя и пароль пустые переменные, чтобы быть предложено вводить их каждый раз при входе в систему, который является гораздо более безопасным.
Конечно, можно получить доступ к удаленному серверу MySQL из локального экземпляра в phpmyadmin, как я уже указывал. И чтобы это работало, вы должны настроить удаленный сервер's сервер MySQL для приема удаленных подключений, и разрешить трафик через брандмауэр для номер порта, что MySQL слушает. Я предпочитаю немного другое решение, предусматривающее туннелирования SSH.
Следующая команда будет настроить SSH туннель, который будет пересылать все запросы на порт 3307 с локального компьютера в порт 3306 на удаленной машине:
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
При появлении запроса, введите пароль для корневого пользователя на удаленной машине. Это откроет туннель. Если вы хотите запустить это в фоновом режиме, вы'll необходимо добавить параметр -F для аргумента
, и установить беспарольный СШ между локальным и удаленным компьютером.
После того, как вы've получили СШ рабочей тоннель, вы можете добавить удаленный сервер в список серверов в локальном 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++;
Я написал более углубленного блог именно об этом, в случае, если вам нужна дополнительная помощь.
Следовать этот блог. Вы можете сделать это очень легко. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
Файл config.inc.php содержит параметры конфигурации для установки в phpmyadmin. Он использует массив для хранения наборов параметров конфигурации для каждого сервера он может подключаться и по умолчанию есть только один, свой собственный автомат или localhost. Для того, чтобы подключиться к другому серверу, вам придется добавить еще один набор параметров конфигурации в массив конфигурации. Вы должны отредактировать этот файл конфигурации.
Первый открытый config.inc.php файл проведены в в phpmyadmin папка. В ПУВР сервер, вы можете найти его в ПУВР\приложения\приложение 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 изменится и он будет показывать поле для выбора сервера.
Теперь можно выбрать сервер и получить доступ к удаленной базе данных, введя имя пользователя и пароль для этой базы данных.
Как говорится в ответе Си.Хилл Ответ, Если вы хотите надежное решение я бы посоветовал открыть SSH туннель к серверу.
Вот способ, чтобы сделать это на окна пользователи:
Скачать Плинк и шпатлевка от шпаклевки сайту]2 и поместите файлы в папку по вашему выбору (в моем примере C:\Putty
)
Откройте консоль Windows и CD в папку Плинк: диск C:\Putty`
Открыть SSH туннель и перенаправить на порт 3307:
тук -л 3307:имя localhost:3306 логин@server_ip -я path_to_your_private_key.ППК
Где:
Наконец, вы можете установить в phpmyadmin:
Линий, чтобы добавить:
$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';
Если вы не хотите, чтобы открыть консоль каждый раз, когда нужно подключиться к удаленному серверу, просто создайте пакетный файл (при сохранении командования 2 строки .bat файл).
Вы можете установить в файл config.inc.php установки в phpmyadmin.
$cfg['Servers'][$i]['host'] = '';
Я бы добавил Это в качестве комментария, но моя репутация не достаточно высоко.
По версии 4.5.4.1deb2ubuntu2, и я предполагаю, что любой другой версии 4.5.X или новее. Нет необходимости модифицировать файл config.inc.php на всех. Вместо того, чтобы пойти еще один каталог вниз конф.д.
Создайте новый файл с '.на PHP' расширения и добавления строк. Это лучше модульный подход и изолятов каждой удаленной базы данных сервера доступа к информации.
В 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;
И внести соответствующие изменения в данные своего сервера
Способ 1 ( для многосерверных )
Во-первых , позволяет сделать резервную копию оригинального конфига.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Теперь в /usr/доли/документ/таблицу/Примеры/ вы увидите файл config.manyhosts.inc.php. Просто скопируйте в файле/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 или имя массива сохранить ( в Nano Сtrl+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';
Помните, чтобы заменить 192.168.1.100 с вашего IP сервер MySQL.
Извините за мой плохой английский ( гугл транслейт есть виноват :Д )
Полное удаление записей из файла /etc/НТТР/конф.Д/в 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 строки,
ГРАНТ ВСЕ ПО . для root@localhost в определенных 'корень@в<пароль>'`
ГРАНТ ВСЕ ПО . в корень@'%' определены 'корень@в<пароль>'`
Для справки: разрешить IP для доступа к защищенным PhpMyAdmin