Установка, зміна і скидання пароля root в mysql

Це керівництво пояснює, яким чином можна встановити, измененить або скинути (якщо ви забули пароль) рутовий пароль в MySQL. Знову і знову я спостерігаю одну і ту ж картину: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user' root '@' localhost '(using password: YES)'. Тому я знайшов час, щоб нагадати вам як вирішити пов'язану з цим проблему в MySQL. Якщо ви шукаєте швидке вирішення проблеми щодо скидання пароля root, можете знайти його в кінці цього посібника.

mysqladmin-команда, за допомогою якої змінюється пароль root в MySQL

Метод 1. Установка пароля root в перший раз.

Якщо ви ніколи не встановлювали пароль root в MySQL, сервер не буде вимагати пароля root для підключення до вашим баз даних. Щоб вперше встановити пароль MySQL використовуйте в консолі команду mysqladmin як показано далі:

$ Mysqladmin -u root password newpass

де newpass буде пароль який ви встановлюєте.

Для зміни (оновлення) пароля root скористайтеся командою

$ Mysqladmin -u root -p oldpassword newpass

де oldpassword - ваш старий пароль, а newpassword соотвественно новий. Якщо ж ви у відповідь отримали наступне повідомлення:

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user' root '@' localhost '(using password: YES)'

то це означає, що пароль ви просто забули, або його змінив хтось інший. Скористайтеся наступною інструкцією для відновлення пароля до вашого MySQL.

Зміни пароля MySQL для інших користувачів.

Для зміни пароля звичайного користувача введіть наступну команду:

$ Mysqladmin -u user-name -p oldpassword newpass

де user-name - ім'я користувача для якого ви міняєте пароль.

Метод 2 - Оновлення або зміна пароля.

MySQL зберігає імена користувачів і паролі в таблиці користувачів всередині бази даних. Ви можете оновити пароль використовуючи наступний метод:

  1. Залогініться в MySQL і введіть наступну команду:

2. Почніть роботу з базою даних. Як запрошення для введення команд спочатку рядки у вас має бути mysql>

3. Змініть пароль користувача

mysql> update user set password = PASSWORD ( «newpass») where User = 'ENTER-USER-NAME-HERE';

4. Перезавантажте привілеї і отлогіньтесь

Цей метод можна застосовувати в разі використання на вашому сервері PHP та скриптів Perl.

Відновлення пароля root в MySQL.

Ви можете відновити пароль від баз даних MySQL якщо повторите наступні 5 кроків:

  • Зупиніть демон MySQL.
  • Запустіть демон MySQL (mysqld) з опцією -skip-grant-tables, тому що в цьому випадку пароль не вимагається.
  • Встановити з'єднання із сервером MySQL c root-привелегиями
  • Введіть новий пароль.
  • Вийдіть і увійдіть або демон MySQL.

Далі наводяться команди, які необхідно використовувати для кожного кроку, за умови, що ви увійшли в систему з root-привелегиями.

  1. Зупиняємо службу MySQL:

# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.

2. Запускаємо службу з опцією -skip-grant-tables

Повинен бути наступний висновок:

[1] 5988
Starting mysqld daemon with databases from / var / lib / mysql
mysqld_safe [6025]: started

3. Підключаємося з сервера MySQL за допомогою клієнта mysql:

Welcome to the MySQL monitor. Commands end with; or \ g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log

Type 'help;' or '\ h' for help. Type '\ c' to clear the buffer.

4. Вводимо новий пароль для root:

mysql> use mysql;
mysql> update user set password = PASSWORD ( «NEW-ROOT-PASSWORD») where User = 'root';
mysql> flush privileges;
mysql> quit

5. Зупиняємо сервер MySQL:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe [6186]: ended

[1] + Done mysqld_safe -skip-grant-table

Запускаємо MySQL-сервер і логіном з новим паролем: