Mysql linux set password

Как изменить (сбросить) 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:

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

Читайте также:  Как после переустановки windows узнать какие драйвера нужны

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

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

Источник

MySQL Change a User Password Command Tutorial

I would like to change a password for a user called tom using UNIX / Linux command line option. How do I change a user password on MySQL server?

Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements mysql
Est. reading time 2 mintues

You need to use mysql (or mysql.exe on MS-Windows based system) command on a Linux or Unix like operating system. Open a terminal app or ssh session. Type the following command at the shell prompt to login as a root user. The syntax is as follows for Unix like operating system.

How to change user password on mysql

Mysql change user password using the following method:

  1. Open the bash shell and connect to the server as root user:
    mysql -u root -h localhost -p
  2. Run ALERT mysql command:
    ALTER USER ‘ userName ‘@’localhost’ IDENTIFIED BY ‘ New-Password-Here ‘;
  3. Finally type SQL command to reload the grant tables in the mysql database:
    FLUSH PRIVILEGES;

Please note that use mysql.exe on MS-Windows host as follows (first change directory where mysql.exe is located [example: “ C:\Program Files\mysql\mysql-5.0.77-win32\bin “]. Let us see examples and syntax in details.

mysql command to change a user password

Login as root from the shell:
$ mysql -u root -p
Switch to mysql database (type command at mysql> prompt, do not include string “mysql>”):
mysql> use mysql;
The syntax is as follows for mysql database server version 5.7.5 or older:

Источник

Установка, изменение и сброс пароля 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.
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:

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-сервер и логинимся с новым паролем:

Источник

Как изменить пароль пользователя 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 .

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Mysql linux set password

The SET PASSWORD statement assigns a password to a MySQL user account. The password may be either explicitly specified in the statement or randomly generated by MySQL. The statement may also include a password-verification clause that specifies the account current password to be replaced, and a clause that manages whether an account has a secondary password. ‘ auth_string ‘ and ‘ current_auth_string ‘ each represent a cleartext (unencrypted) password.

Rather than using SET PASSWORD to assign passwords, ALTER USER is the preferred statement for account alterations, including assigning passwords. For example:

Clauses for random password generation, password verification, and secondary passwords apply only to accounts that use an authentication plugin that stores credentials internally to MySQL. For accounts that use a plugin that performs authentication against a credentials system that is external to MySQL, password management must be handled externally against that system as well. For more information about internal credentials storage, see Section 6.2.15, “Password Management”.

The REPLACE ‘ current_auth_string ‘ clause performs password verification and is available as of MySQL 8.0.13. If given:

REPLACE specifies the account current password to be replaced, as a cleartext (unencrypted) string.

The clause must be given if password changes for the account are required to specify the current password, as verification that the user attempting to make the change actually knows the current password.

The clause is optional if password changes for the account may but need not specify the current password.

The statement fails if the clause is given but does not match the current password, even if the clause is optional.

REPLACE can be specified only when changing the account password for the current user.

For more information about password verification by specifying the current password, see Section 6.2.15, “Password Management”.

The RETAIN CURRENT PASSWORD clause implements dual-password capability and is available as of MySQL 8.0.14. If given:

RETAIN CURRENT PASSWORD retains an account current password as its secondary password, replacing any existing secondary password. The new password becomes the primary password, but clients can use the account to connect to the server using either the primary or secondary password. (Exception: If the new password specified by the SET PASSWORD statement is empty, the secondary password becomes empty as well, even if RETAIN CURRENT PASSWORD is given.)

If you specify RETAIN CURRENT PASSWORD for an account that has an empty primary password, the statement fails.

If an account has a secondary password and you change its primary password without specifying RETAIN CURRENT PASSWORD , the secondary password remains unchanged.

For more information about use of dual passwords, see Section 6.2.15, “Password Management”.

SET PASSWORD permits these auth_option syntaxes:

Assigns the account the given literal password.

Assigns the account a password randomly generated by MySQL. The statement also returns the cleartext password in a result set to make it available to the user or application executing the statement.

For details about the result set and characteristics of randomly generated passwords, see Random Password Generation.

Random password generation is available as of MySQL 8.0.18.

Under some circumstances, SET PASSWORD may be recorded in server logs or on the client side in a history file such as

/.mysql_history , which means that cleartext passwords may be read by anyone having read access to that information. For information about the conditions under which this occurs for the server logs and how to control it, see Section 6.1.2.3, “Passwords and Logging”. For similar information about client-side logging, see Section 4.5.1.3, “mysql Client Logging”.

SET PASSWORD can be used with or without a FOR clause that explicitly names a user account:

With a FOR user clause, the statement sets the password for the named account, which must exist:

With no FOR user clause, the statement sets the password for the current user:

Any client who connects to the server using a nonanonymous account can change the password for that account. (In particular, you can change your own password.) To see which account the server authenticated you as, invoke the CURRENT_USER() function:

If a FOR user clause is given, the account name uses the format described in Section 6.2.4, “Specifying Account Names”. For example:

The host name part of the account name, if omitted, defaults to ‘%’ .

SET PASSWORD interprets the string as a cleartext string, passes it to the authentication plugin associated with the account, and stores the result returned by the plugin in the account row in the mysql.user system table. (The plugin is given the opportunity to hash the value into the encryption format it expects. The plugin may use the value as specified, in which case no hashing occurs.)

Setting the password for a named account (with a FOR clause) requires the UPDATE privilege for the mysql system schema. Setting the password for yourself (for a nonanonymous account with no FOR clause) requires no special privileges.

Statements that modify secondary passwords require these privileges:

The APPLICATION_PASSWORD_ADMIN privilege is required to use the RETAIN CURRENT PASSWORD clause for SET PASSWORD statements that apply to your own account. The privilege is required to manipulate your own secondary password because most users require only one password.

If an account is to be permitted to manipulate secondary passwords for all accounts, it should be granted the CREATE USER privilege rather than APPLICATION_PASSWORD_ADMIN .

When the read_only system variable is enabled, SET PASSWORD requires the CONNECTION_ADMIN privilege (or the deprecated SUPER privilege), in addition to any other required privileges.

For additional information about setting passwords and authentication plugins, see Section 6.2.14, “Assigning Account Passwords”, and Section 6.2.17, “Pluggable Authentication”.

Источник

Читайте также:  Как работает nfs linux
Оцените статью