Как можно изменить пароль пользователя root в MySQL под Linux, FreeBSD, OpenBSD и UNIX подобных операционных системах с использованием ssh/telnet сессии?
Настройка пароля в MySQL является одной из основных задач и первоочередных задач. По умолчанию пользователь root является администратором в MySQL. Стоит обратить внимание, что пароль пользователя root в Linux/UNIX и root в MySQL — это разные пользователи и пароли у них также должны быть разные. Они являются самостоятельными и ничего общего между ними нет и не должно быть. Иногда можно произвести удаление пользователя root в MySQL и установить пользователя admin в MySQL в качестве администратора по некоторых соображениям, которые связаны напрямую с безопасностью.
Команда mysqladmin для изменения пароля пользователя root
Если с момента установки сервера MySQL ни разу не вводился пароль суперпользователя, то для входа на сервер не требуется вводить пароль. Для установки пароля в первый, необходимо использовать команду mysqladmin из командной строки следующим образом:
$ mysqladmin -u root password NEWPASSWORD
Однако, если есть необходимость изменить или обновить пароль пользователя root, тогда в этом случае необходимо использовать команду:
$ mysqladmin -u root -p 'oldpassword' password newpass
Например, если старый пароль abc, можно установить новый пароль в виде 123456, введя команду:
$ mysqladmin -u root -p 'abc' password '123456'
Изменение пароля в MySQL для других пользователей
Чтобы изменить пароль обычного пользователя MySQL, допустим для пользователя normal_user, необходимо ввести следующую команду:
$ mysqladmin -u vivek -p oldpassword password newpass
Изменение пароля пользователя root в MySQL с использованием команд SQL
Это еще один метод. MySQL хранит имя пользователя и пароли в таблице пользователей в базе данных MySQL. Можно непосредственно обновить пароль, используя следующий метод, для пользователя normal_user:
1) Войти на сервер MySQL, ввести следующую команду в командной строке:
$ mysql -u root -p
2) Перейти в базу данных mysql:
mysql> use mysql;
3) Изменить пароль для пользователя normal_user и ввести при этом команду:
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='normal_user';
4) Наконец, перезагрузка привилегий:
mysql> flush privileges; mysql> quit
Последний метод может быть использован с сценариями PHP, Python или Perl в MySQL API.