Способи оплати Abuse

Змінюємо пароль користувача в MySQL

10.10.2022, 21:52

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

Змінюємо пароль користувача в СУБД MySQL

Змінити пароль користувача можна різними способами. У середовищі MySQL для цього завдання передбачено дві команди - SET PASSWORD і ALTER USER. Детально розповімо про кожен із цих двох способів.

Дізнаємося версію MySQL

На початок поточного року в MySQL передбачено дві основні версії. Перша застаріла, але її все ще підтримують (це версія 5.7), а найактуальніша на даний момент - версія 8.0. Як дізнатися версію MySQL? Зробити це можна за допомогою спеціальної команди, яку слід виконати в терміналі:

$ mysql –version

Узнаем версию MySQL

Як бачимо із зображення вище, використовується версія 8.0.28, але водночас важливо врахувати, що ALTER USER актуальна тільки в колишніх версіях MySQL, а в новіших версіях можна використовувати обидві версії.

Як зайти в консоль

Для входу в консоль слід авторизуватися в MySQL, використовуючи логін і пароль. Коли на сервері вже авторизований користувач, то всі дії потрібно виконувати від його імені. У тому випадку, коли MySQL задіяна вперше, то потрібно використовувати права root.

Команда для входу в root:

$ mysql -u root –p

Как зайти в консоль

Після чого відбудеться запит пароля. Залишиться ввести пароль, натиснути клавішу Enter, одразу після цього завантажиться інтерфейс MySQL з усіма доступними командами.

Перегляд хостів

Особливість MySQL у тому, що в ній є окремий хост, до якого прив'язаний обліковий запис. Відзначимо три основні хости:

  • Localhost;
  • %;
  • IP адреса/доменне ім'я.

localhost допускає тільки локальний вхід без можливості віддаленого підключення, символ % означає, що використовувати такий обліковий запис можна з будь-яких хостів, IP-адреса/доменне ім'я означає, що використовувати обліковий запис можна тільки на обраному доменному імені/IP-адресі.

Щоб дізнатися тип хоста облікового запису, необхідно виконати такий SQL-запит:

$ SELECT user, host FROM mysql.user

Просмотр хостов

На скріншоті вище ми бачимо, що для користувача alex задіяний хост %. Цей хост і треба використовувати під час зміни пароля. Користувачі в MySQL і вся інформація про користувачів зберігаються в базі даних mysql у таблиці user.

Змінюємо пароль за допомогою SET PASSWORD

Також змінити пароль можна командою SET PASSWORD. Щоб змінити пароль для користувача alex із хостом % на somepassword666, потрібно використовувати таку команду:

$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';

Меняем пароль с помощью SET PASSWORD

Змінюємо пароль за допомогою ALTER USER

Змінити код користувача можна, використовуючи іншу команду - ALTER USER. Поміняти пароль для користувача alex з хостом % на anotherpassword666 виконаємо SQL запит:

$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';

Меняем пароль с помощью ALTER USER

Тут слід враховувати, що ім'я користувача і хост користувача укладені в одинарні лапки, без цих лапок MySQL не зможе розпізнати рядок.

Тепер скидаємо кеш привілеїв:

$ FLUSH PRIVILEGES;

Як перевірити новий пароль

Щойно ви змінили пароль, змінили привілей і скинули кеш, слід виконати перевірку входу від імені користувача, чий пароль було змінено.

Вийдіть з оболонки MySQL, виконавши команду exit:

$ exit

Как проверить новый пароль

Тепер входимо в оболонку:

$ mysql -u alex -p

Как проверить новый пароль

Якщо ви бачите запрошення системи під час входу, то все зробили правильно, а отже, пароль успішно було змінено.