Не получается подключится под рутом к MySQL? Вместо подключения выводится ошибка ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)? Пароль вроде бы подходит?
За вами уже выеха…. отвлекся =) проблема это исправима
Установка skip-grant-tables
Заходим в консоль сервера через SSH.
Находим в патке /etc файл my.cnf
1 | nano /etc/my.cnf |
Либо файл mysql-server.cnf, в зависимости от версии MySQL
1 | nano /etc/my.cnf.d/mysql-server.cnf |
В секции mysqld нужно добавить запись skip-grant-tables что бы у нас получилось вот так:
1 2 | [mysqld] skip-grant-tables |
Перезапускаем MySql сервер
1 | systemctl restart mysqld |
Следующим шагом надо зайти в MySql без пароля и работаем по листингу:
1 2 3 | mysql -u root -p Enter password: —>НАЖМИТЕ КНОПКУ ENTER< — use mysql; |
Установка пароля
MySQL 5.7.5 и ниже
1 2 | UPDATE user SET Password=PASSWORD('new_password') WHERE User='root'; quit |
MySQL 5.7.6+
1 2 | ALTER USER 'root'@'hostname' IDENTIFIED BY 'new_password'; quit |
или
1 2 | UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE USER='root' AND Host='localhost'; quit |
MySQL 8
new_password должен соответствовать установленной парольной политике!
Установка пустого пароля
1 2 3 | UPDATE mysql.user SET authentication_string=null WHERE User='root'; FLUSH PRIVILEGES; quit |
Установка пароля
1 2 3 | ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new_password'; FLUSH PRIVILEGES; quit |
Убираем skip-grant-tables
Удаляем из my.cnf опцию skip-grant-tables, сохраняемся и снова рестарт:
1 | systemctl restart mysqld |
Вот и все, можно перестать пить валерианку.
Не работает команда по смене пароля, выдает ошибку синтаксиса:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'the manual that corresponds to your MySQL server version for the right syntax to' at line 1
mysql 8
Спасибо за обратную связь.
Действительно, была проблема, статья писалась давно и была восстановлена из архива. Внес изменения.