URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81642
[ Назад ]

Исходное сообщение
"Пароль root mysql"

Отправлено kia_leon , 20-Авг-08 21:57 
Система FreeBSD 4.7 , MySQL 3.23.58. Есть root пароль от системы. Нужно или взломать или задать новый пароль для root MySQL

Действия ниже описанные пробовал:
- там два варианта, на выбор, например:

- грохнуть mysqld
- запустить mysqld_safe --skip-grant-tables --user=root
- затем используя клиент mysql
#

> mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
mysql> FLUSH PRIVILEGES;

или

stop/kill mysqld:

safe_mysqld --user=root --pid-file=/usr/local/mysql/data/mysqld.pid --skip-grant-tables &

mysql -u root mysql

update user set password=password('newpass') where User='root' and host='localhost';

или

- stop/kill mysqld
- mysqld --skip-grant-tables
- mysqladmin -u root password 'mynewpassword' (создать новый пароль)
- перестартовать mysqld обычным образом
[- можно еще загрузить привелегии:
mysqladmin -h hostname flush-privileges]

И вот что получается:
bash-2.05# /usr/local/bin/safe_mysqld --skip-grant-tables &
[1] 19924
bash-2.05# Starting mysqld daemon with databases from /var/db/mysql

bash-2.05# mysql -u root mysql
ERROR 1049: Unknown database 'mysql'
--------------------------------------------------------------------
bash-2.05# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 3.23.58

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

mysql> use mysql;
ERROR 1049: Unknown database 'mysql'
mysql> show databases;
Empty set (0.00 sec)
-----------------------------------------------------------------------
bash-2.05# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12 to server version: 3.23.58

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

mysql> update user set password=password('newpass') where User='root' and host='localhost';
ERROR 1046: No Database Selected
-----------------------------------------------------------------------
bash-2.05# mysqladmin -u root password 'mynewpassword'
mysqladmin: unable to change password; error: 'You must have privileges to update tables in the mysql database to be able to change passwords for others'
------------------------------------------------------------------------


Может кто сталкивался с подобной сетуевиной.


Содержание

Сообщения в этом обсуждении
"Пароль root mysql"
Отправлено admins , 20-Авг-08 22:18 
читать логи и мануал до просветления.

"Пароль root mysql"
Отправлено kia_leon , 20-Авг-08 22:33 
>читать логи и мануал до просветления.

Очень помогло))))


"Пароль root mysql"
Отправлено melmaxnvk , 24-Авг-08 11:44 
1) Остановить демона mysqld
2) переименовать папку с базой mysql (обычно /var/db/mysql/mysql) в другую.
   Например так: mv /var/db/mysql/mysql /var/db/mysql/mysql_old
3) запустить скрипт mysql_install_db (обычно /usr/local/bin/mysql_install_db). Он создаст новую системную базу с пользователем root  и пустым паролем, заходить только с localhost
4) запустить демон mysqld

Далее можно оставить все как есть, задать пароль у рута и разрешенные хосты.
Либо, если что-то нужное в старой базе mysql осталось сделать дальше

5) В старой базе поменять поле password таблицы user, например так:
   #use mysql_old;
   #update user
    set password=password('12345')
    where user='root';
6) остановить демона mysql.
7) переименовать базу mysql в mysql_new
8) переименовать базу mysql_old в mysql
9) запустить демона mysqld