- Как изменить пароль пользователя MySQL
- Как сменить пароль пользователя MySQL
- Шаг 1. Как узнать версию MySQL
- Шаг 2. Вход в консоль MySQL
- Шаг 3. Просмотр хостов пользователя
- Шаг 4. Смена пароля пользователя при помощи SET PASSWORD
- Шаг 5. Смена пароля пользователя при помощи ALTER USER
- Шаг 6. Сброс кэша привилегий
- Шаг 7. Проверка нового пароля
- Выводы
- Как изменить пароль пользователя MySQL
- Подготовка
- Как изменить пароль пользователя MySQL
- 1. Войдите в оболочку MySQL как root.
- 2. Установите пароль пользователя MySQL.
- 3. Подтвердите новый пароль.
- Выводы
- Установка, изменение и сброс пароля root в MySQL
- Метод 1. Установка пароля root в первый раз.
- Изменения пароля MySQL для других пользователей.
- Метод 2 — Обновление или изменение пароля.
- Восстановление пароля root в MySQL.
Как изменить пароль пользователя MySQL
Одной из важных операций при работе с пользователями в СУБД MySQL является смена пароля пользователя. Как правило изменить пароль пользователя может только суперпользователь с именем root. Однако если обычный пользователь наделен полномочиями на смену пароля то он также может это сделать.
В данной статье будет рассмотрено как изменить пароль пользователя MySQL в операционной системе Ubuntu 20.04.
Как сменить пароль пользователя MySQL
Для смены пароля пользователя в MySQL присутствует несколько способов, в частности, это смена пароля при помощи команды SET PASSWORD или ALTER USER. Далее в статье будут рассмотрены все 2 способа.
Шаг 1. Как узнать версию MySQL
На данный момент (Февраль 2022 года) MySQL поддерживает две основные версии. Первая это устаревшая, но все еще поддерживая версия 5.7 и последняя актуальная версия 8.0. Для того чтобы узнать используемую версию необходимо выполнить следующую команду в терминале:
В данном случае используется версия 8.0.28. Инструкция ALTER USER доступна только в современных версиях MySQL. Если у вас версия 5.x.x. то в ней следует использовать SET PASSWORD. В более новых версиях можно применять обе инструкции.
Шаг 2. Вход в консоль MySQL
Для того чтобы попасть в консоль MySQL необходимо авторизоваться при помощи логина и пароля. Если на сервере уже зарегистрирован необходимый пользователь, то вход необходимо выполнять от имени этого пользователя. Если MySQL используется впервые после установки, то входить необходимо при помощи пользователя root. Команда входа под пользователем root выглядит следующим образом (где вместо пользователя root можно использовать имя необходимого пользователя):
Далее программа запросит пароль. В целях безопасности пароль не отображается в терминале. После ввода пароля необходимо нажать на клавишу Enter. После этого отобразится интерфейс консольного клиента MySQL, где можно использовать SQL команды.
Шаг 3. Просмотр хостов пользователя
В MySQL у каждой учетной записи есть свой хост, к которому данная учетная запись привязана. Есть 3 основных типа хостов в MySQL: localhost, % и IP адрес/доменное имя.
Тип записи localhost означает что под учетной записью можно входить только локально без возможности удаленного подключения, символ % (процент) означает что использовать такую учетную запись можно с любых хостов (в том числе и удаленных), IP адрес/доменное имя означает что использовать учетную запись можно только на выбранном доменном имени/IP адресе. Для того чтобы узнать тип хоста учетной записи необходимо выполнить следующий SQL запрос:
SELECT user, host FROM mysql.user;
На данном снимке экрана видно, что для пользователя alex используется хост %. Соответственно, этот хост и надо использовать при смене пароля. Пользователи в MySQL и вся информация о пользователях хранятся в базе данных mysql в таблице user.
Шаг 4. Смена пароля пользователя при помощи SET PASSWORD
Если требуется изменить пароль для пользователя root воспользуйтесь статьей Сброс пароля root в MySQL. Сменить пароль пользователя MySQL можно при помощи команды SET PASSWORD. Для того чтобы сменить пароль для пользователя alex с хостом % на somepassword666 выполните такую команду:
SET PASSWORD FOR ‘alex’@’%’ = ‘somepassword666’;
Шаг 5. Смена пароля пользователя при помощи ALTER USER
Также установить пароль пользователя можно при помощи команды ALTER USER. Для того чтобы поменять пароль для пользователя alex с хостом % на anotherpassword666 выполните SQL запрос:
ALTER USER ‘alex’@’%’ IDENTIFIED BY ‘anotherpassword666’;
Обратите внимание что имя пользователя и хост пользователя заключены в одинарные кавычки, без этих кавычек MySQL не сможет распознать строку.
Шаг 6. Сброс кэша привилегий
Вне зависимости от того какая команда была выполнена для смены пароля, после изменения пароля необходимо сбросить кэш привилегий. Сделать это можно, выполнив команду:
Шаг 7. Проверка нового пароля
После того как пароль был изменен и кэш привилегий сброшен, необходимо проверить вход от имени пользователя чей пароль был изменен. Для этого необходимо выйти из оболочки MySQL выполнив команду exit:
Далее необходимо войти в оболочку MySQL под необходимым пользователем ведя его новый пароль. Для примера войдем под пользователем alex, чей пароль был изменен ранее:
Если после ввода пароля появилось приглашение к вводу MySQL, то это означает что пароль был успешно обновлен.
Выводы
Теперь вы знаете как выполняется смена пароля пользователя MySQL. Изменить пароль можно несколькими способами. Оба способа являются простыми и быстрыми. А каким способом предпочитаете пользоваться вы? Поделитесь об этом в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как изменить пароль пользователя MySQL
В этом руководстве мы покажем вам, как изменить пароль пользователя MySQL. Инструкции должны работать с любым современным дистрибутивом Linux, таким как Ubuntu 18.04 и CentOS 7.
Подготовка
В зависимости от версии сервера MySQL или MariaDB, которую вы используете в своей системе, вам нужно будет использовать разные команды для изменения пароля пользователя.
Чтобы узнать версию сервера базы данных, введите следующую команду:
Если в вашей системе установлен MySQL, результат будет выглядеть примерно так:
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Или выведите такой вывод для MariaDB:
mysql Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Обязательно отметьте, какую версию MySQL или MariaDB вы используете. Если вы хотите получить список всех учетных записей пользователей MySQL, ознакомьтесь с этим руководством.
Как изменить пароль пользователя MySQL
Выполните следующие действия, чтобы изменить пароль пользователя MySQL:
1. Войдите в оболочку MySQL как root.
Войдите в оболочку MySQL, набрав следующую команду и при появлении запроса введите пароль root-пользователя MySQL:
Если вы не установили пароль для пользователя root MySQL, вы можете войти в систему с помощью sudo mysql .
2. Установите пароль пользователя MySQL.
ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('NEW_USER_PASSWORD')
WHERE User = 'user-name' AND Host = 'localhost';
FLUSH PRIVILEGES;
SET PASSWORD FOR 'user-name'@'localhost' = PASSWORD('NEW_USER_PASSWORD');
FLUSH PRIVILEGES;
Убедитесь, что вы изменили user-name на имя пользователя, для которого хотите изменить пароль. Если пользователь подключается к серверу MySQL с другого хоста, измените localhost на удаленное имя хоста или IP-адрес.
В обоих случаях, если все пойдет хорошо, вы увидите следующий результат:
Query OK, 0 rows affected (0.00 sec)
Выйдите из командной строки MySQL, выполнив:
3. Подтвердите новый пароль.
Чтобы убедиться, что новый пароль применен правильно, введите:
mysql -u user-name -h localhost -p
Вам будет предложено ввести новый пароль пользователя. Введите его, и вы войдете на свой сервер MySQL.
Выводы
В этом руководстве вы узнали, как изменить пароль пользователя MySQL или MariaDB. Убедитесь, что новый пароль надежный и надежный, и храните его в надежном месте.
Чтобы узнать больше о том, как использовать оболочку MySQL для выполнения различных административных операций, вы можете ознакомиться с нашим руководством по управлению учетными записями пользователей и базами данных MySQL .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Установка, изменение и сброс пароля 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:
mysql -u root
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.
mysql>
4. Вводим новый пароль для root:
mysql> use mysql;
mysql> update user set password=PASSWORD(«NEW-ROOT-PASSWORD») where User=’root’;
mysql> flush privileges;
mysql> quit
5. Останавливаем сервер MySQL:
/etc/init.d/mysql stop
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-сервер и логинимся с новым паролем: