Під час роботи з СУБД MySQL вкрай важливо знати, як змінити пароль користувача. Здається, що це завдання можна вирішити, тільки маючи права суперкористувача. Але навіть звичайний користувач зможе змінити пароль за певних обставин. У цій статті ми розповімо, як це робиться за звичайних умов.
Змінити пароль користувача можна різними способами. У середовищі MySQL для цього завдання передбачено дві команди - SET PASSWORD
і ALTER USER
. Детально розповімо про кожен із цих двох способів.
На початок поточного року в MySQL передбачено дві основні версії. Перша застаріла, але її все ще підтримують (це версія 5.7), а найактуальніша на даний момент - версія 8.0. Як дізнатися версію MySQL? Зробити це можна за допомогою спеціальної команди, яку слід виконати в терміналі:
$ mysql –version
Як бачимо із зображення вище, використовується версія 8.0.28, але водночас важливо врахувати, що ALTER USER
актуальна тільки в колишніх версіях MySQL, а в новіших версіях можна використовувати обидві версії.
Для входу в консоль слід авторизуватися в MySQL, використовуючи логін і пароль. Коли на сервері вже авторизований користувач, то всі дії потрібно виконувати від його імені. У тому випадку, коли MySQL задіяна вперше, то потрібно використовувати права root.
Команда для входу в root:
$ mysql -u root –p
Після чого відбудеться запит пароля. Залишиться ввести пароль, натиснути клавішу Enter, одразу після цього завантажиться інтерфейс MySQL з усіма доступними командами.
Особливість MySQL у тому, що в ній є окремий хост, до якого прив'язаний обліковий запис. Відзначимо три основні хости:
localhost допускає тільки локальний вхід без можливості віддаленого підключення, символ % означає, що використовувати такий обліковий запис можна з будь-яких хостів, IP-адреса/доменне ім'я означає, що використовувати обліковий запис можна тільки на обраному доменному імені/IP-адресі.
Щоб дізнатися тип хоста облікового запису, необхідно виконати такий SQL-запит:
$ SELECT user, host FROM mysql.user
На скріншоті вище ми бачимо, що для користувача alex задіяний хост %. Цей хост і треба використовувати під час зміни пароля. Користувачі в MySQL і вся інформація про користувачів зберігаються в базі даних mysql у таблиці user.
Також змінити пароль можна командою SET PASSWORD
. Щоб змінити пароль для користувача alex із хостом % на somepassword666, потрібно використовувати таку команду:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Змінити код користувача можна, використовуючи іншу команду - ALTER USER
. Поміняти пароль для користувача alex з хостом % на anotherpassword666 виконаємо SQL запит:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Тут слід враховувати, що ім'я користувача і хост користувача укладені в одинарні лапки, без цих лапок MySQL не зможе розпізнати рядок.
Тепер скидаємо кеш привілеїв:
$ FLUSH PRIVILEGES;
Щойно ви змінили пароль, змінили привілей і скинули кеш, слід виконати перевірку входу від імені користувача, чий пароль було змінено.
Вийдіть з оболонки MySQL, виконавши команду exit
:
$ exit
Тепер входимо в оболонку:
$ mysql -u alex -p
Якщо ви бачите запрошення системи під час входу, то все зробили правильно, а отже, пароль успішно було змінено.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: