Можно ли использовать phpMyAdmin для подключения к удаленной базе данных?

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

кто-то объяснил мне в комментариях к связанному вопросу, что MySQL login принимает формат username@IPAddress. Удаленная база данных username@remotemachineIP, в то время как phpMyAdmin посылает username@mylocalIP.

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


  1. могу ли я действительно подключиться к удаленному серверу (размещенному на Amazon EC2) с помощью phpMyAdmin?

  2. может ли это быть реальной проблемой в моей попытке подключения?

  3. Если да, то как я могу решить это?

12
задан Der Hochstapler
23.12.2022 17:16 Количество просмотров материала 2997
Распечатать страницу

2 ответа

phpMyAdmin может подключаться к удаленной базе данных, просто установив его с хостом, пользователем и паролем удаленной машины. Пока Порт MySQL открыт в Хосте, MySQL, работающий там, настроен для разрешения сетевых соединений, и у вашего пользователя есть разрешение на то, чтобы быть связанным удаленно.

С машины под управлением phpMyAdmin или любой другой машины (не сервер MySQL), запустите клиент командной строки, чтобы проверить, если соединение возможно:

$ mysql -h<ip> -u<user> -p<password> <database>

где ip-это IP-адрес сервера MySQL, база данных-это имя вашей базы данных, а пользователь и пароль-учетные данные вашего пользователя в MySQL. Это должно дать вам приглашение клиента mysql на успех. Или правильное описание ошибки.

обновление

MySQL сервер обычно настраивается для прослушивания только локального сокета. По умолчанию он не привязывает TCP-порт ti 3306. Для того, чтобы настроить его правильно, вы должны изменить файл конфигурации сервера (обычно /etc / my.cnf)

[mysqld]
bind-address            = 10.0.0.5

вы должны заменить IP в этом примере на IP-адрес вашего сервера. И вы должны проверить, что опция "skip-networking" не активирована. Поскольку это предотвратило бы MySQL, связывающий настроенный IP.

после перезагрузки вы можете проверить, слушает ли MySQL эту команду в оболочке сервера:

# netstat -nap | grep mysqld
tcp        0      0 10.0.0.5:3306                0.0.0.0:*                   LISTEN      3547/mysqld
unix  2      [ ACC ]     STREAM     LISTENING     13554  3547/mysqld         /var/lib/mysql/mysql.sock

вы должны увидеть строку, как первый вывод здесь. Номер 3306 является порт MySQL по умолчанию, и вы должны открыть его для входящих TCP-соединений, если у вас есть брандмауэр, защищающий сервер.

после этого вы сможете подключиться к MySQL. Но у вас могут быть проблемы loging в если вашего разрешения не правильно установить. Пользователи MySQL имеют имя пользователя и хост в виде user@host, таким образом, если вы создаете user my_user@localhost и вы пытаетесь войти из чего-либо другого localhost, доступ будет запрещен. Давайте подумаем, что ваш клиент запуск над машиной с IP-адресом 10.0.0.33, и вы хотите дать разрешение на доступ к базе данных. Ваш пользователь должен быть my_user@10.0.0.33 или my_user@% быть вторым неограниченный потребитель для соединяться от любой машины. Чего лучше избегать, если вы заранее знаете IP своего клиента.

1
отвечен drk.com.ar 2022-12-25 01:04

вы должны позволить пользователю mysql войти в систему с удаленного компьютера. Для этого на сервере mysql необходимо выполнить следующую команду: * ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА . ДЛЯ "ИМЯ ПОЛЬЗОВАТЕЛЯ" @ " % "ОПРЕДЕЛЯЕТСЯ " ПАРОЛЬ"*

более того, вы должны отключить привязку IP на сервере mysql, отредактировав файл конфигурации

0
отвечен JPS Bhullar 2022-12-25 03:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх