После установки MySQL изначальные привилегии доступа задаются при помощи `scripts/mysql_install_db'. See section 2.3.1 Обзор быстрой установки. Скрипт mysql_install_db запускает сервер mysqld, а затем инициализирует таблицы предоставления привилегий со следующим набором привилегий:
В качестве суперпользователя создается MySQL root который может делать все, что угодно. Соединения должны устанавливаться с локального компьютера.
Примечание: Изначально пароль root пуст, поэтому кто угодно может подсоединиться в качестве root без пароля и получить все привилегии.
Создается анонимный пользователь, который может выполнять любые операции над базами данных с именами test или начинающимися с test_. Соединения должны устанавливаться с локального компьютера. Это означает, что любой локальный пользователь может подключиться без пароля и будет воспринят сервером как анонимный пользователь.
Остальные привилегии запрещены. Например, обычный пользователь не может использовать команды mysqladmin shutdown или mysqladmin processlist.
Примечание: В Windows принятые по умолчанию привилегии отличаются от указанных. See section 2.6.2.3 Работа MySQL в среде Windows.
Поскольку сразу после установки программа совершенно не защищена, первым делом необходимо задать пароль для пользователя MySQL root. Это можно сделать следующим образом (обратите внимание, что пароль указывается при помощи функции PASSWORD()):
shell> mysql -u root mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
Опытные пользователи могут работать непосредственно с таблицами назначения привилегий:
shell> mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('new_password') -> WHERE user='root'; mysql> FLUSH PRIVILEGES;
Еще один способ задать пароль - воспользоваться командой mysqladmin:
shell> mysqladmin -u root password new_password
Изменять пароли других пользователей могут только пользователи с правом записи/обновления базы данных mysql. Все обычные пользователи (не анонимные) могут модифицировать только свой собственный пароль при помощи указанных выше команд или команды SET PASSWORD=PASSWORD('new_password').