|
|
|
| Подскажите пожалуйста, как установить пароль и пользователей для базы данных, как их удалять и можно ли запретить доступ пользователю root? | |
|
|
|
|
|
|
|
для: Евгений Петров
(20.06.2005 в 17:32)
| | Управление учётными записями производится при помощи оператора GRANT. Создание нового пользователя можно осуществить при помощи следующего запроса
GRANT ALL ON *.* to 'new_user'@'localhost' IDENTIEFIED BY 'password'
|
создаёт пользователя new_user с паролем 'password'
Для удаления этого пользователя следует воспользоваться оператором REVOKE
REVOKE ALL NO *.* FROM 'new_user'@'localhost'
|
PS Полностью запртить root нельзя, но ему можно назначить пароль и запретить доступ с любых хостов, кроме локального.
PPS Вообще синтаксис GRANT и REVOKE достаточно сложный, можно так настроить права доступа, что у пользователя будет только права на оператор SELECT или на INSERT и лишь на некоторые таблицы - именно игрой прав доступа на хостингах, где сидит 500 человек добиваются такого эффекта, что вы можете работать только со своими базами данных.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=87 | |
|
|
|
|
|
|
|
для: cheops
(20.06.2005 в 18:15)
| | А не могли бы вы разъяснить синтаксисы этих опреаторов? | |
|
|
|
|
|
|
|
для: Евгений Петров
(20.06.2005 в 20:09)
| | На месте ALL задаются привилегии пользователя (если в GRANT - они добавляются, если в REVOKE - они удаляются). В СУБД MySQL доступны следующий привилегии
ALL [PRIVILEGES] Задает все простые привилегии, кроме WITH GRANT OPTION
ALTER Разрешает использование ALTER TABLE
CREATE Разрешает использование CREATE TABLE
CREATE TEMPORARY TABLES Разрешает использование CREATE TEMPORARY TABLE (временные таблицы)
DELETE Разрешает использование DELETE
DROP Разрешает использование DROP TABLE
EXECUTE Разрешает пользователю запускать хранимые процедуры (для MySQL 5.0)
FILE Разрешает использование SELECT ... INTO OUTFILE и LOAD DATA INFILE
INDEX Разрешает использование CREATE INDEX and DROP INDEX
INSERT Разрешает использование INSERT
LOCK TABLES Разрешает использование LOCK TABLES на таблицах, для которых есть привилегия SELECT
PROCESS Разрешает использование SHOW FULL PROCESSLIST
REFERENCES Зарезервировано для использования в будущем
RELOAD Разрешает использование FLUSH
REPLICATION CLIENT Предоставляет пользователю право запрашивать местонахождение головного и подчиненных серверов
REPLICATION SLAVE Необходимо для подчиненных серверов при репликации (для чтения информации из бинарных журналов головного сервера)
SELECT Разрешает использование SELECT
SHOW DATABASES SHOW DATABASES выводит все базы данных
SHUTDOWN Разрешает использование mysqladmin shutdown
SUPER Позволяет установить одно соединение (один раз), даже если достигнуто значение max_connections, и запускать команды CHANGE MASTER, KILL thread, mysqladmin debug, PURGE MASTER LOGS и SET GLOBAL
UPDATE Разрешает использование UPDATE
USAGE Синоним для ''без привилегий''(используется для создания анонимных пользователей и прочей шелупони)
GRANT OPTION Синоним для WITH GRANT OPTION
|
Далее следует кусок ON *.* - здесь определяется к чему относятся привелегии база_данных.таблица. Т.е. если вы задаёте test.count, то привелегии будут доступны только в базе данных test и таблице count, test.* задаёт привелегии для базы данных test, *.* определяет глобальные привелегии пользователя, которые распространяются на все базы и таблицы.
to 'new_user'@'localhost' - задаёт имя пользователя new_user и хост, откуда он будет обращаться к серверу MySQL. Так если зададите 'new_user'@'62.89.75.69' пользователь сможет обращаться только с хоста с IP-адресом 62.89.75.69 и ни откуда больше, даже с локального хоста не сможет обратиться к серверу. Можно задать, чтобы пользователь мог обращаться к серверу из любой точки сети, для обозначения такого состояния используется символ % - 'new_user'@'%'. Можно задать и маску, например 'new_user'@'%.softtime.ru' позволит обращаться к серверу только из под доменнов .softtime.ru
IDENTIEFIED BY 'password' - как я уже говорил задаёт пароль | |
|
|
|
|
|
|
|
для: cheops
(20.06.2005 в 20:32)
| | Спасибо! | |
|
|
|