Когда вы впервые инсталлируете MySQL, доступ к базе данных имеет только адми­нистратор, т.е. пользователь root. По умолчанию этот пользователь входит в систему без пароля, и это очень опасно! Эту ситуацию необходимо исправить как можно скорее и назначить пароль, используя утилиту mysqladmin и синтаксис, показанный в следующем примере. (Этот пример касается системы UNIX. Просто используйте путь инсталляции под управлением ОС Windows.)
Листинг 14.58.
[rootohost] # /usr/local/mysql/bin/mysqladmin -u root password 1 новый-пароль1
Изменения в пароле вступают в силу немедленно и не требуют никаких дополни­тельных действий. 
Также пароль может быть изменен с помощью команд UPDATE или SET PASSWORD, как это описывалось в предыдущем разделе.
Как изменить пароль пользователя root
Если вы вдруг забыли пароль пользователя root и в результате, не можете зайти на сервер, выполните следующие действия.
1. Зайдите в систему как администратор (пользователь root в ОС UNIX) и оста­новите сервер. Это можно сделать через сценарий запуска и остановки mysql.server в каталоге support-files и каталоге инсталляции:
[rootohost] $ /usr/local/mysql/support-files/mysql.server stop
Если вы работаете с системой UNIX, где MySQL уже инсталлирован, вы можете остановить сервер с помощью сценария: /etc/rc.d/init.d/mysqld.
2. После этого запустите сервер, заново используя специальный параметр --skip-grant-tables:
[rootohost] $ /usr/local/mysql/bin/safe_mysqld --skip-grant-tables --skip-networking
Этот обманный маневр позволит вам отключить таблицы разрешений и зайти на сервер как пользователь root, не вводя при этом пароль. Параметр --skip-networking отключает протоколы TCP/IP, и вы можете быть уверены, что вы пребываете в полном одиночестве.
3. Для того чтобы задать новый пароль для пользователя root, воспользуйтесь ко­мандой UPDATE, как это описано в предыдущем разделе:
[rootohost] # mysql
Wellcome to the mysql monitor. Commands end with ; or g. Your mysql connection id is 7 to server version: 4.0.14 Type 'help;' or 'h' for help. Type 'c' to clear the buffer mysql> USE mysql; Database changed
mysql> UPDATE user SET Password = PASSWORD ('новый-пароль') WHERE User = "root1;
Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0
4. Теперь вы можете выйти с сервера, остановить его и перезапустить в обычном режиме:
[rootohost] $ /usr/local/mysql/support-files/mysql.server stop [rootohost] $ /usr/local/mysql/support-files/mysql.server start
Теперь система должна позволить вам войти на сервер в качестве пользователя root под новым паролем, который был присвоен на 3-м шаге.
На заметку
Подробнее узнать о системе защиты MySQL можно по адресу http://www.mysql.com/ doc/en/General_security.html и http://www.mysql.com/doc/en/Privileges_provided.
html. 

Резюме
В системе MySQL предусмотрена пятиуровневая система защиты, которая обеспечи­вает должный контроль работы пользователей. В этой главе освещены вопросы контроля доступа и системы привилегий, принципы работы команд GRANT и REVOKE и их взаимо­связь с привилегиями. Кроме того, читатель познакомился со способами ограничения использования ресурсов, изменения паролей пользователей и восстановления пароля суперпользователя.