среда, 10 марта 2010 г.

Сменить или сбросить пароль root в MySQL

Сменить и сбросить пароль root в MySQL можно следующим образом:
1. Зайдите как root в Windows или Unix-like (Unix, Linux or BSD) машину с MySQL сервером.
2. Остановите MySQL сервер:

В Linux: /etc/rc.d/init.d/mysql stop
В FreeBSD: /usr/local/etc/rc.d/mysql-server.sh stop

3. Откройте скрипт запуска MySQL сервера (например, mysql-server.sh - запускной файл стартующий или останавливающий MySQL сервер.
4. Добавьте –skip-grant-tables в конец строки которая содержит mysqld_safe команду как ее параметр.
5. Запустите MySQL сервер командой:

В Linux: /etc/rc.d/init.d/mysql start
М FreeBSD: /usr/local/etc/rc.d/mysql-server.sh start

6. Также можно запустить MySQL сервер напрямую не редактируя файл, командой:

mysqld_safe –skip-grant-tables &

В зависимости от ваших настроек переменных сред, вам может потребоваться указать полный путь до директории где находится mysqld_safe.

7. Выполните следующую команду для подключения к базе и доступа к таблице с пользователями MySQL:

# mysql -u root mysql
8. Выполните запросы обновления для смены пароля MySQL:

mysql> UPDATE user SET Password=PASSWORD(’newrootpassword’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;

Замечание: в данном примере новый пароль root будет newrootpassword. Команда FLUSH PRIVILEGES необходима для того, чтобы изменения вступили в действие.
9. Закройте MySQL базу набрав exit.
10. Остановите MySQL сервер также, как в пункте 2.
11. Откройте скрипт запуска MySQL сервера и удалите –skip-grant-tables параметр который был добавлен в пункте 3.
12. Запустите MySQL сервер также, как в пункте 5 или 6.

Пользователям Redhat Linux необходимо использовать следующие инструкции войдя под root пользователем Redhat Linux:

1. Остановите MySQL процесс используя команду:

# killall mysqld
2. Запустите MySQL сервер со следующими опциями:

# /usr/libexec/mysqld -Sg –user=root &
3. Запустите MySQL клиент:

# mysql

Вы должны увидеть следующее сообщение:

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 3.xx.xx

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql>
4. Используйте MySQL базу:

mysql> 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
5. Теперь измените пароль root пользователя следующей командой:

UPDATE user SET password=password(”newpassword”) WHERE user=”root”;

Замените newpassword на пароль который вы хотите установить. Вы должны увидеть следующее сообщение:

Query OK, 2 rows affected (0.03 sec)
Rows matched: 2 Changed: 2 Warnings: 0

Rows affected may be different, but the Query OK should be there.
6. Выполните команду для того чтобы изменения вступили в действие:

mysql> flush privileges;

Вы должны получить следующий результат:

Query OK, 0 rows affected (0.02 sec)
7. Выйдите из MySQL клиента выполнив команду exit.
8. Остановите MySQL сервер выполнив команду killall mysqld.
9. Запустите MySQL снова:

/etc/init.d/mysqld start

как сбросить пароль пользователя root в mysql (Windows)

1) Открываем my.ini ("C:\Program Files\MySQL\MySQL Server 5.1") и добавляем в конце файла строку "skip-grant-tables".
2) Перезапускам сервис MySql.
3) Заходим в консоль, жмем Enter вместо пароля и выполняем запрос:
mysql> UPDATE mysql.user SET Password=PASSWORD(’тут новый пароль’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;
4) Открываем my.ini и удаляем строку "skip-grant-tables".
5) Перезапускам сервис MySql.