Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пользователи MySQL
 
 автор: Евгений Петров   (20.06.2005 в 17:32)   письмо автору
 
 

Подскажите пожалуйста, как установить пароль и пользователей для базы данных, как их удалять и можно ли запретить доступ пользователю root?

   
 
 автор: cheops   (20.06.2005 в 18:15)   письмо автору
 
   для: Евгений Петров   (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

   
 
 автор: Евгений Петров   (20.06.2005 в 20:09)   письмо автору
 
   для: cheops   (20.06.2005 в 18:15)
 

А не могли бы вы разъяснить синтаксисы этих опреаторов?

   
 
 автор: cheops   (20.06.2005 в 20:32)   письмо автору
 
   для: Евгений Петров   (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' - как я уже говорил задаёт пароль

   
 
 автор: Евгений Петров   (20.06.2005 в 20:38)   письмо автору
 
   для: cheops   (20.06.2005 в 20:32)
 

Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования