The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Смена пароля root MySQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Смена пароля root MySQL"  
Сообщение от o2x email on 31-Янв-07, 18:11 
Здравствуйте.
Так получилось, что нужно было изменить пароль рута. Пароль не известен.
Выполняю действия, результат:

/home/xxxx>ps -ax | grep mysql
24624  p0  S      0:00.01 /bin/sh /usr/local/bin/mysqld_safe --skip-grant-tables
24639  p0  S      0:00.14 /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/db/mysql --user=mysql --pid-file=/var/db/mysql/it.d
/home/xxxx>mysqladmin -u root password '123456'
mysqladmin:
You cannot use 'password' command as mysqld runs
with grant tables disabled (was started with --skip-grant-tables).
Use: "mysqladmin flush-privileges password '*'" instead

/home/xxxx>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>  UPDATE user SET Password=PASSWORD('123456') WHERE User='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye

/home/xxxx>killall -9 mysql
/home/xxxx>/usr/local/etc/rc.d/mysql-server.sh start
/home/xxxx>ps -ax | grep mysql
24676  p0  I      0:00.02 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql
24699  p0  S      0:00.80 /usr/local/libexec/mysqld -defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql

/home/xxxx>mysql -u root -p mysql
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

В чем проблема?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Смена пароля root MySQL"  
Сообщение от ACCA (ok) on 31-Янв-07, 23:09 
[...]
>You cannot use 'password' command as mysqld runs
> with grant tables disabled (was started with --skip-grant-tables).
>Use: "mysqladmin flush-privileges password '*'" instead

А почему не стал так делать?


>mysql>  UPDATE user SET Password=PASSWORD('123456') WHERE User='root';

Там есть несколько функций получения хэша пароля, не уверен что PASSWORD - правильная для твоей версии. Я бы поставил SET PASSWORD=NULL WHERE USER='root', а потом скрутил ему пароль снаружи.


>/home/xxxx>killall -9 mysql

Сурово ты с ним. А почему mysqladmin shutdown или SIGTERM не используешь, как положено?


>/home/xxxx>mysql -u root -p mysql
>Enter password:
>ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

root может быть запрещено приходить с localhost (который, кстати, не 127.0.0.1, а сокет, описанный в my.cnf).


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Смена пароля root MySQL"  
Сообщение от o2x email on 01-Фев-07, 11:08 
Все получилось. Выполнил следующее:
# mysql -u root;
mysql> use mysql;
mysql> UPDATE user SET PASSWORD=NULL WHERE USER='root';  //4.1.22
mysql> FLUSH PRIVILEGES;
Далее заходим и меняем пароль:
# mysql -u root;
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('123456') WHERE User='root';
mysql> quit;
#/usr/local/etc/rc.d/mysql-server.sh restart


>root может быть запрещено приходить с localhost (который, кстати, не 127.0.0.1, а
>сокет, описанный в my.cnf).
Подскажи еще, где посмотреть на этот запрет входа с locahost?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Смена пароля root MySQL"  
Сообщение от zi on 23-Апр-07, 08:54 
лучше всего сделать, как ты делал
># mysql -u root;
>mysql> use mysql;
>mysql> UPDATE user SET PASSWORD=NULL WHERE USER='root';  //4.1.22
>mysql> FLUSH PRIVILEGES;
а потом
>#mysqladmin -h 127.0.0.1 -u root password '123456'
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру