Рейтинг:0

Может зарегистрировать любого пользователя в базе данных mysql

флаг tr

У меня есть база данных mysql «politechnika_new» и пользователь «politechnika» со всеми привилегиями для этой базы данных, а хост установлен как %, но я не могу войти в эту базу данных с этим пользователем.

Как я могу это исправить?

root@ubuntu:/var/www/html/politechnika# mysql -uroot
Добро пожаловать в монитор MySQL. Команды заканчиваются на ; или \г.
Ваш идентификатор соединения MySQL равен 36.
Версия сервера: 8.0.27-0ubuntu0.20.04.1 (Ubuntu)

Авторские права (c) 2000, 2021, Oracle и/или ее дочерние компании.

Oracle является зарегистрированным товарным знаком корпорации Oracle и/или ее
филиалы. Другие названия могут быть товарными знаками соответствующих
владельцы.

Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить текущий оператор ввода.

mysql> выберите пользователя, хост из mysql.user;
+------------------+------------+
| пользователь | хозяин |
+------------------+------------+
| политехника | % |
| debian-sys-maint | локальный |
| mysql.info-схема | локальный |
| mysql.сессия | локальный |
| mysql.sys | локальный |
| корень | локальный |
+------------------+------------+
6 рядов в сете (0,00 сек)

mysql> ПОКАЗАТЬ ГРАНТЫ ДЛЯ ПОЛИТЕХНИКИ;
+--------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- ---------------------------------------------+
| Гранты для политехника@% |
+--------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- ---------------------------------------------+
| ПРЕДОСТАВИТЬ ВЫБОР, ВСТАВИТЬ, ОБНОВИТЬ, УДАЛИТЬ, СОЗДАТЬ, УДАЛИТЬ, ПЕРЕЗАГРУЗИТЬ, ВЫКЛЮЧИТЬ, ОБРАБОТАТЬ, ФАЙЛ, ССЫЛКИ, ИНДЕКС, ИЗМЕНИТЬ, ПОКАЗАТЬ БАЗЫ ДАННЫХ, СУПЕР, СОЗДАТЬ ВРЕМЕННЫЕ ТАБЛИЦЫ, БЛОКИРОВАТЬ ТАБЛИЦЫ, ВЫПОЛНИТЬ, РЕПЛИКАЦИЯ ПОДЧИНЕННЫЙ, РЕПЛИКАЦИОННЫЙ КЛИЕНТ, СОЗДАТЬ ПРОСМОТР, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `politechnika`@`%` С ПРЕДОСТАВЛЕНИЕМ ОПЦИИ |
| ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА `politechnika_new`.* НА `politechnika`@`%` С ВОЗМОЖНОСТЬЮ ПРЕДОСТАВЛЕНИЯ |
+--------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- ---------------------------------------------+
2 ряда в сете (0,00 сек)

mysql> выход
Пока
root@ubuntu:/var/www/html/politechnika# mysql -upolitechnika -pPASSSWORD -Dpolitechnika_new
mysql: [Предупреждение] Использование пароля в интерфейсе командной строки может быть небезопасным.
ОШИБКА 1045 (28000): Доступ запрещен для пользователя 'politechnika'@'localhost' (используется пароль: ДА)
root@ubuntu:/var/www/html/politechnika# 

Дистанционное соединение тоже не работает

Доступ запрещен для пользователя politechnika@'91.222.150.XXX` (используется пароль: ДА)

user9517 avatar
флаг cn
Отвечает ли это на ваш вопрос? [MySQL не может подключиться через «localhost», только 127.0.0.1] (https://serverfault.com/questions/295285/mysql-cannot-connect-via-localhost-only-127-0-0-1)
флаг tr
@ user9517 - Нет, я также не могу подключиться, указав хост как 127.0.0.1.
флаг cn
Bob
Пробовали ли вы сбросить пароль с помощью `ALTER USER policytechnika@%'IDENTIFIED BY 'password';` и `flush privacy;`
флаг tr
@Bob - смена пароля решила мою проблему. Я не знаю почему - я уверен, что использовал правильный пароль. Спасибо!
флаг cn
Bob
Пожалуйста, измените его еще раз на что-то другое (и более сильное), чем пароль в виде открытого текста, который вы указали в вопросе.
флаг tr
Я нигде не давал (мне кажется) адрес БД - опасно ли в таком случае делиться логином и паролем?
флаг us
Во-первых, опасно открывать порт MySQL для Интернета. Совместное использование учетных данных еще более опасно. Учетные данные, которыми вы поделились, будут добавлены в списки учетных данных, которые боты используют при подключении к открытым серверам MySQL в Интернете.
флаг tr
@TeroKilkanen Спасибо за ваш комментарий. Я открыл сервер для интернета только на время тестирования. Я буду помнить, чтобы не вводить пароль в сообщении.
Phill  W. avatar
флаг cn
@TomaszFilipek: «Я открыл сервер для доступа в Интернет только на время тестирования». Это даже не должно быть тестовым случаем. Базы данных /никогда/ не должны подвергаться воздействию Интернета, потому что они просто не созданы для того, чтобы справляться со всеми «гадостями», которые обрушатся на них, если вы это сделаете. Вот почему мы видим так много приложений с клиентскими приложениями «снаружи», веб-серверами, принимающими на себя всю зенитную артиллерию (потому что они / созданы для этого), и базами данных, которые хранятся в целости и сохранности за брандмауэрами и другими средствами защиты и доступны только для веб сервер.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.