Недавно я тестировал сервер базы данных MariaDB в Debian 8/9 и обнаружил, что сервер базы данных теперь устанавливается в Debian, не запрашивая пароль у пользователя root для доступа к серверу.
MySQL и MariaDB, форк MySQL, запрашивали пароли каждый раз, прежде чем доступ будет предоставлен серверу. Видимо, больше не для MariaDB. Теперь простая установка базы данных дает рут-доступ без пароля.
Даже после запуска команды sudo mysql_secure_installation… пароль учетной записи root не требуется. Однако другие приложения и службы, зависящие от базы данных, не будут работать, если для аутентификации необходим пароль root.
phpMyAdmin и MySQL Workbench может перестать работать, если MariaDB настроен таким образом.
Я обнаружил, что MariaDB использует плагин unix_socket для аутентификации … а не пароли. Даже если вы установили пароль, он игнорируется. Чтобы снова включить проверку подлинности по паролю, выполните следующие действия:
Войдите на сервер MariaDB, выполнив следующие команды
sudo mysql -u root
Не запрашивает пароль?
После этого выполните команды ниже, чтобы отключить аутентификацию плагина для пользователя root
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
После этого выполните команды ниже, чтобы защитить сервер MariaDB и создать новый пароль root.
sudo mysql_secure_installation
Когда будет предложено, ответьте на вопросы ниже, следуя руководству.
- Enter current password for root (enter for none): Just press Enter
- Set root password? [Y/n]: Y
- New password: Enter password
- Re-enter new password: Repeat password
- Remove anonymous users? [Y/n]: Y
- Disallow root login remotely? [Y/n]: Y
- Remove test database and access to it? [Y/n]: Y
- Reload privilege tables now? [Y/n]: Y
Теперь у вас есть возможность войти с аутентификацией по паролю .. и другие приложения теперь должны работать с аутентификацией по root паролю.
В дальнейшем следует использовать такую команду для входа
sudo mysql -u root -p
Затем введите пароль для входа
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 559
Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>