FAQ по Базам Данных
|
Как завести пользователя и дать ему права |
Одним из основных недостатков
MySQL является отсутствие визульных
средств разработки и администрирования.
Так что привыкайте все вводить с консоли,
если хотите работать с этим сервером.
Итак, запускаем консоль MySQL (предполагается,
что сервер уже установлен, настроен и
запущен.) Нам нужно создать нового
ползователя. Можно сделать это двумя
способами.
Первый способ: USE mysql; INSERT INTO user VALUES ('%','new_user', PASSWORD('somepassw'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); FLUSH PRIVILEGES;Все данные о пользователях, базах и т.д. хранятся в MySQL в БД под названием mysql. Чтобы добавить пользователя, мы просто добавляем в таблицу новую запись. Первый значение - это IP-адреса, с которых можно подключаться к серверу под этим именем пользователя. Я поставил '%', что значит, что можно подключаться с любого IP. Можно указать конкретный IP, и тогда подключение будет разрешено только с него. Следующие значения - это имя пользователя и пароль для него. Обратите внимание: пароль должен быть зашифрован командой PASSWORD, иначе пользователь не сможет подключаться к базе, т.к. сравниваются не пароли, а резултаты шифрования! В конце идет перечисление прав (SELECT, INSERT, DELETE, etc). Эти поля могут иметь только два значения Y (разрешено) и N (запрещено). В конце не забудьте выполнить FLUSH PRIVILEGES для вступления изменений в силу. Но согласитесь, что способ этот не очень-то удобный. Поэтому лучше делать так: GRANT ALL PRIVILEGES ON *.* TO user@"%" IDENTIFIED BY 'some_passw' WITH GRANT OPTION;Что же все это означает? ALL PRIVILEGES - дает все привилегии пользователю. Если нужно дать только некоторые привилегии, их нужно перечислить через запятую: SELECT, INSERT, и т.д. *.* означает к каким базам данных и таблицам имеет доступ пользователь. Обозначения делаются следующим образом "База.Таблица". user@"%" - имеет вид "Имя_пользователя@IP-адрес", т.е. с каких IP может быть установлено соединение с этим логином (в примере - с любого IP). С паролем, я думаю, все понятно, а вот что же такое WITH GRANT OPTION? Это значит, что пользователь может передать свои привилегии другому пользователю, т.е. создать другого пользователя с такими же правами. Если этой опции нет, то и нового юзера наш user не сможет :) Содержание |