У меня есть MySQL-сервер, работающий на виртуальном сервере Ubuntu.
Я хочу получить доступ к базе данных с моего главного компьютера. (Я уже могу получить доступ к веб-сайту с хоста, так что я знаю, что есть связь между двумя).

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

У меня 2 проблемы.

Первый
Я не могу подключиться к серверу mysql с главного компьютера.

Второй.
Когда я получаю доступ к своему серверному терминалу, я могу ввести $mysql -u mysql и я получаю приглашение mysql.
Оттуда я могу просмотреть таблицы по умолчанию "test" и "information_schema". Я даже могу создавать таблицы на базе "тест"
но когда я пытаюсь создать пользователя или создать базу данных, я получаю следующую ошибку.
1044 access denied for user ''@'localhost'
Я не знаю, почему он считает, что мой пользователь «».
Я вошел на сервер под своей учетной записью. и затем я вошел на сервер MySQL под именем "MySQL" (что было именно то, что было установлено в файле конфигурации. Кроме того, если я пытаюсь использовать mysqladmin, мне говорят, что мне нужны SUPER privs. как мне их настроить? Есть идеи, почему это не работает?

1 ответ1

0

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

Есть две вещи, которые могут помешать.

Во-первых, проверьте настройки MySQL - вам нужно разрешить доступ с внешнего IP-адреса, а не только на 127.0.0.1 (который является внутренним только для ВМ). И вам нужно убедиться, что у любого пользователя MySQL, который вы используете, есть права на доступ к серверу с IP-адреса хоста - права доступа в MySQL ограничены конкретными IP-адресами источника - хотя вы можете использовать подстановочный знак % чтобы разрешить откуда угодно.

Во-вторых, убедитесь, что брандмауэр Ubuntu iptables не блокирует входящий доступ к порту MySQL (по умолчанию 3306).

Что касается других ваших проблем. Вполне вероятно, что пользователь mysql не имеет полных прав администратора и поэтому не может создавать новые базы данных. Измените пользователя root MySQL (и обратите внимание, что это НЕ пользователи Linux, они пользователи MySQL, что-то совершенно другое), чтобы у него был пароль, а затем попробуйте создать базу данных после входа в MySQL от имени пользователя root.

Обратите внимание, что вы, как правило, не хотите, чтобы пользователь root в MySQL мог использоваться вне локальной машины, хотя это хорошо для тестовых серверов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .