Если для MySQL пароль пользователя root
никогда не устанавливался, то для
соединения с сервером в качестве пользователя root
пароль не потребуется.
Рекомендуется всегда устанавливать пароль для каждого пользователя
(see Раздел 4.2.2, «Как обезопасить MySQL от хакеров»).
Если вы забыли установленный для root
пароль, то новый пароль можно задать
при помощи следующей процедуры:
-
Остановите сервер
mysqld
; для этого нужно послатьkill
(но неkill -9
) серверуmysqld
. Номер процесса хранится в файле.pid
, обычно расположенном в каталоге баз данных MySQL:shell> kill `cat /mysql-data-directory/hostname.pid`
Чтобы выполнить эту команду, необходимо быть либо Unix-пользователем
root
, либо пользователем, под которым работаетmysqld
. Перезапустите
mysqld
с опцией--skip-grant-tables
.-
Установите новый пароль с помощью команды
mysqladmin password
:shell> mysqladmin -u root password 'mynewpassword'
-
Теперь можно либо просто остановить
mysqld
и заново запустить его обычным способом, либо просто загрузить таблицы привилегий посредством:shell> mysqladmin -h hostname flush-privileges
После этого можно будет соединяться, пользуясь новым паролем.
Есть и другой способ установки нового пароля - с помощью клиента mysql
:
Остановите mysqld
и перезапустите его с опцией --skip-grant-tables
, как
было описано ранее.
-
Соединитесь с сервером
mysqld
посредством:shell> mysql -u root mysql
-
Выполните следующие команды из клиента
mysql
:mysql> UPDATE user SET Password=PASSWORD('mynewpassword') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;
После этого можно будет соединяться по новому паролю.
Остановите
mysqld
и запустите его заново, как обычно.