Бывает - случаются ситуации, когда существует сервер с установленным MySQL, рабочими базами и т.д., однако без административного доступа. Например, Вам этот сервер достался в наследство. Доступ суперпользователя Unix у Вас имеется, а вот под пользователем root к серверу MySQL подключиться не получается - пароль неизвестен.
В таком случае приходится этот пароль менять.
Итак (для выполнения всех команд Вы должны быть с привилегиями суперпользователя root Unix-системы):
1) Останавливаем MySQL сервер (да, это придется сделать).
Например, для FreeBSD:
# /usr/local/etc/rc.d/mysql-server stop
или для Debian:
# /etc/init.d/mysql stop
2) Запускаем сервер с параметром --skip-grant-tables
# mysqld_safe --skip-grant-tables &
Символ & в конце строки обязателен - иначе процесс mysqld запустится и займет всю консоль. Вы можете при этом, конечно, подключиться с другой консоли, но так быстрее и удобнее.
3) Подсоединяемся к MySQL под пользователем root и без пароля.
# mysql -u root
// приветствие MySQL сервера
mysql> use mysql;
mysql> update user set password=PASSWORD('MYNEWPASSWORD') where user='root' and host='localhost';
mysql> flush privileges;
mysql> quit;
Здесь MYNEWPASSWORD - это пароль, который Вы хотите установить для пользователя root.
Причем, как видно, мы меняем пароль только для пользователя root@localhost. Для смены других паролей можно будет воспользоваться уже нормальным доступом из-под root.
4) Останавливаем mysqld и запускаем сервер нормально.
FreeBSD:
# killall mysqld
# /usr/local/etc/rc.d/mysql-server start
или, для Debian:
# killall mysqld
# /etc/init.d/mysql start
5) Проверяем подключение под root:
# mysql -u root -p
Password:
Все, пароль root поменяли.
Комментарии
Оставить комментарий
Базы данных - MySql (Maria DB)
Термины: Базы данных - MySql (Maria DB)