Как изменить пароль mysql workbench
Перейти к содержимому

Как изменить пароль mysql workbench

  • автор:

Как изменить (сбросить) root пароль в MySQL

Как изменить (сбросить) root пароль в MySQL

Довольно часто происходит такая ситуация, что пароль для учетной записи root в MySQL необходимо восстановить, поменять или сбросить. Хорошо, если он известен, но бывают случаи, когда пароль был утерян или неизвестен с самого начала. В данной статье пойдет речь о том, как этот пароль восстановить, имея доступ к серверу, на котором запущен mysql-server для обоих случаев, когда пароль о учетной записи root ИЗВЕСТЕН и НЕ ИЗВЕСТЕН.

Как поменять пароль root в MySQL

Если пароль root ИЗВЕСТЕН

Возьмем самую простую ситуацию, когда пароль от учетной записи root вам известен и все что нужно сделать, это просто его поменять. Чтобы задать новый пароль для учетной записи root, необходимо проделать следующие действия:

1) Подключаемся в консоль MySQL сервера с правами root (не забываем ввести пароль, после появления соответствующего запроса):

2) Меняем пароль для пользователя root:

Для MySQL версий 5.7.6 и новее (5.7.7, 5.7.8. )

Для MySQL версий 5.7.5 и старее (5.7.4, 5.7.3. )

NEW_PASSWORD — это пароль, который вам необходимо поменять на свой собственный.
В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

В том случае, если указанные выше команды по какой то причине не сработали, вы можете воспользоваться следующим запросом:

В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

3) Перезагружаем привилегии, чтобы изменения вступили в силу:

4) Для выхода из консоли MySQL сервера выполняем команду выхода:

После этого, пароль должен поменяться.

Если пароль root НЕ ИЗВЕСТЕН

Если вы не знаете текущий пароль root (потеряли, забыли) в MySQL, то придется пойти чуть более сложным путем, чем описанные действия выше:

1) Останавливаем mysqld:

2) Проверяем, что нет запущенных процессов mysqld:

Если все нормально, то вывод команды должен состоять лишь из одной строки, примерно такого содержания:

3) Создаем каталог /var/run/mysqld для запуска mysqld в safe режиме из консоли

4) Делаем владельцем данного каталога пользователя mysql (чтобы не было проблем с правами)

5) Запускаем MySQL в ручном режиме из консоли, пропуская проверку прав (опция —skip-grant-tables). А также отключаем доступ к серверу через TCP/IP (с помощью опци и —skip-networking), чтобы злоумышленник не мог воспользоваться тем, что мы отключили проверку прав пользователей. При использовании данной опции, доступ к серверу становится возможным только через localhost.

В случае успешного запуска, вывод в консоли должен быть примерно таким:

6) Подключаемся из консоли к серверу mysqld и выбираем базу данных mysql:

7) Используем плагин mysql_native_password, иначе в некоторых случаях будем получать ошибку «ERROR 1524 (HY000): Plugin ‘auth_socket’ is not loaded«, а нам это не нужно:

Вывод в результате выполнения данной команды должен быть примерно таким:

8) Перезагружаем привилегии:

9) Меняем пароль для нужного пользователя, в нашем случае это root:

Для MySQL версий 5.7.6 и новее (5.7.7, 5.7.8. )

Для MySQL версий 5.7.5 и старее (5.7.4, 5.7.3. )

NEW_PASSWORD — это пароль, который вам необходимо поменять на свой собственный.
В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

В том случае, если указанные выше команды по какой то причине не сработали, вы можете воспользоваться следующим запросом:

В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

9) После чего, вводим команду exit для отключения:

10) Выключаем запущенный в ручном режиме Mysqld сервер:

Если все пройдет успешно, то вывод должен быть примерно таким:

Если же команда не сработала и вы получаете вот такую (или любую другую) ошибку:

То можно принудительно завершить процесс с помощью следующей команды:

11) Проверяем, что нет запущенных процессов mysqld:

Если все нормально, то вывод команды должен состоять лишь из одной строки, примерно такого содержания:

12) Запускаем Mysql-server в нормальном режиме:

И пытаемся подключиться к нашему серверу с новым паролем, который мы установили.

Была ли эта статья Вам полезна?

Комментарии к статье (8)

    • Гость
    • 07.12.2022 10:04

    Не чего не помогло

    • Ответить
    • Виталий
    • 15.09.2022 21:58

    правильная команда в 10 пункте:
    $ sudo mysqladmin -S /var/run/mysqld/mysqld.sock -p shutdown
    Вводите пароль от пользователя root и всё ок

    • Ответить
    • Виталий
    • 15.09.2022 21:55

    Не работают команды из 10 пункта, процессы так и висят:
    $ sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user 'root'@'localhost' (using password: NO)'
    $ sudo kill `cat /var/run/mysqld/mysqld.pid`
    cat: /var/run/mysqld/mysqld.pid: Нет такого файла или каталога
    $ ps -eaf|grep mysqld
    root 49072 3473 0 21:46 pts/1 00:00:00 sudo mysqld_safe —skip-grant-tables —skip-networking
    root 49073 49072 0 21:46 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe —skip-grant-tables —skip-networking
    mysql 49245 49073 1 21:46 pts/1 00:00:02 /usr/sbin/mysqld —basedir=/usr —datadir=/var/lib/mysql —plugin-dir=/usr/lib/mysql/plugin —user=mysql —skip-grant-tables —skip-networking —log-error=/var/log/mysql/error.log —pid-file=vitaliti.pid
    vitaliti 49357 3473 0 21:49 pts/1 00:00:00 grep —color=auto mysqld

    • Ответить
    • Bakhman
    • 28.05.2022 21:20

    Спасибо, ваша статья была очень полезна!

    • Ответить
    • Гость
    • 09.08.2021 13:21

    Operation ALTER USER failed for ‘root’@’localhost’
    Выдаётся такая ошибка на стадии 9

    • Ответить
      • AJIekceu4
      • 09.08.2021 14:24

      Какая версия Mysql у вас? Альтернативный вариант пробовали?

      • Ответить
      • Дмитрий
      • 03.04.2021 18:08

      Созданный каталог /var/run/mysqld не нужно удалять?

      • Ответить
        • AJIekceu4
        • 03.04.2021 20:10

        Как вам будет удобно. Я бы удалил, если изначально его не было и пришлось данную директорию создавать. Но насколько я понимаю он ни на что не будет влиять при запуске mysqld как обычно, а не через командную строку.

        Как изменить пароль пользователя MySQL

        В этом руководстве мы покажем вам, как изменить пароль пользователя MySQL. Инструкции должны работать с любым современным дистрибутивом Linux, таким как Ubuntu 18.04 и CentOS 7.

        Подготовка

        В зависимости от версии сервера MySQL или MariaDB, которую вы используете в своей системе, вам нужно будет использовать разные команды для изменения пароля пользователя.

        Чтобы узнать версию сервера базы данных, введите следующую команду:

        Если в вашей системе установлен MySQL, результат будет выглядеть примерно так:

        Или выведите такой вывод для MariaDB:

        Обязательно отметьте, какую версию MySQL или MariaDB вы используете. Если вы хотите получить список всех учетных записей пользователей MySQL, ознакомьтесь с этим руководством.

        Как изменить пароль пользователя MySQL

        Выполните следующие действия, чтобы изменить пароль пользователя MySQL:

        1. Войдите в оболочку MySQL как root.

        Войдите в оболочку MySQL, набрав следующую команду и при появлении запроса введите пароль root-пользователя MySQL:

        Если вы не установили пароль для пользователя root MySQL, вы можете войти в систему с помощью sudo mysql .

        2. Установите пароль пользователя MySQL.

        Введите следующие команды, если у вас MySQL 5.7.6 и новее или MariaDB 10.1.20 и новее:

        Если инструкция ALTER USER вас не работает, вы можете напрямую изменить пользовательскую таблицу:

        Введите следующие команды, если у вас MySQL 5.7.5 и ранее или MariaDB 10.1.20 и ранее:

        Убедитесь, что вы изменили user-name на имя пользователя, для которого хотите изменить пароль. Если пользователь подключается к серверу MySQL с другого хоста, измените localhost на удаленное имя хоста или IP-адрес.

        В обоих случаях, если все пойдет хорошо, вы увидите следующий результат:

        Выйдите из командной строки MySQL, выполнив:

        3. Подтвердите новый пароль.

        Чтобы убедиться, что новый пароль применен правильно, введите:

        Вам будет предложено ввести новый пароль пользователя. Введите его, и вы войдете на свой сервер MySQL.

        Выводы

        В этом руководстве вы узнали, как изменить пароль пользователя MySQL или MariaDB. Убедитесь, что новый пароль надежный и надежный, и храните его в надежном месте.

        Чтобы узнать больше о том, как использовать оболочку MySQL для выполнения различных административных операций, вы можете ознакомиться с нашим руководством по управлению учетными записями пользователей и базами данных MySQL .

        Sorry, you have been blocked

        This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

        What can I do to resolve this?

        You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

        Cloudflare Ray ID: 7a29398da9922479 • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare

        3 Best Ways to Change MySQL User Password By Examples

        Summary: in this tutorial, you will learn how to change MySQL user password using various statements such as UPDATE , SET PASSWORD, and ALTER USER statements.

        How To Change MySQL User Password

        Before changing the password of a MySQL user account, you should consider the following important questions:

        • Which user account do you want to change the password?
        • What application is using the user account whose password is being changed? If you change the password without changing the connection string of the application that is using the user account, the application will not be able to connect to the database server.

        After having these questions answered. You can start changing the user account’s password.

        MySQL provides various statements that you can use to change the password of a user including the UPDATE , SET PASSWORD, and GRANT USAGE statements.

        Change MySQL user password using UPDATE statement

        The first way to change the password is to use the UPDATE statement to update the user table of the mysql database.

        After executing the UPDATE statement, you also need to execute the FLUSH PRIVILEGES statement to reload privileges from the grant table in the mysql database.

        Suppose you want to change the password for the dbadmin user that connects from the localhost to dolphin , you need to execute the following statements:

        Therefore if you use MySQL 5.7.6+, you must use the authentication_string column in the UPDATE statement instead:

        Notice that the PASSWORD() function computes the hash value from a plain text.

        Change MySQL user password using the SET PASSWORD statement

        The second way to change the password is by using the SET PASSWORD statement.

        You use the user account in user@host format to update the password. If you need to change the password for other accounts, your account needs to have at least UPDATE privilege.

        By using the SET PASSOWORD statement, you don’t need to execute the FLUSH PRIVILEGES statement to reload privileges from grant tables.

        The following statement changes the password of dbadmin user account using the SET PASSWORD statement.

        Notice that from version 5.7.6, MySQL depreciated this syntax and may remove it in the future releases. Instead, it uses the plaintext password as follows:

        Change MySQL user password using ALTER USER statement

        The third way to change the password for a user account is to use the ALTER USER statement with the IDENTIFIED BY clause.

        The following ALTER USER statement changes the password of the dbadmin user to littlewhale :

        In case you want to reset the password of the MySQL root account, you need to force the MySQL database server to stop and restart without using grant table validation.

        In this tutorial, we have introduced you to some handy statements that allow you to change the password for a user account in MySQL database.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *