После установки пароля root почему MYSQL все еще позволяет мне входить без пароля из командной строки? Я могу напечатать "mysql" в приглашении root unix, и он не запрашивает пароль и все еще разрешает мне доступ с правами root. Я не понимаю, почему «mysql -u root» СЕЙЧАС не запрашивает у меня пароль, который я установил в учетной записи.
Кроме того, я не могу войти в mysql с удаленной машины как «root». Разве я не настроил это правильно ниже? Я получаю сообщение об ошибке: «Хост… не разрешено подключаться к этому серверу MySQL. Разве я не настроил его для«% »?
Вот моя таблица пользователей:
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| % | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| % | | |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
источник
Ну, ответ правильный в этой таблице - вам нужно удалить «корневые» строки, в которых нет пароля.
Кроме того, похоже, что вы разрешаете соединения из любого места (?!?!), Когда не используете пользователя или пароль. Наверное, плохая идея. Я бы сделал что-то вроде:
источник
Не забудьте ПРОПУСТИТЬ ПРИВИЛЕГИИ, иначе вы можете войти без пароля.
источник