MySQL и ограничение пользователей на создание таблиц

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
lamok
мл. сержант
Сообщения: 111
Зарегистрирован: 2011-08-31 14:55:34

MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение lamok » 2011-11-28 20:04:54

Здравствуйте.
Подскажите каким образом в mysql можно поставить ограничение для пользователя создавать не более 2-х баз данных??

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение skeletor » 2011-11-29 12:53:24

Это могут только админки управления. Штатными средствами мне кажется, что такого сделать нельзя.

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение Gamerman » 2011-11-29 18:04:06

Либо через триггеры как-то
Глюк глюком вышибают!

telo
рядовой
Сообщения: 21
Зарегистрирован: 2011-07-28 19:18:25

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение telo » 2011-11-29 19:49:42

lamok писал(а):Здравствуйте.
Подскажите каким образом в mysql можно поставить ограничение для пользователя создавать не более 2-х баз данных??
баз или всё-таки таблиц?
если баз -- то создавайте базы самостоятельно, давайте клиентам логин/пароль на базу и всё.
а если именно таблиц -- то (если не ошибаюсь) стандартных средств не существует.

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение FiL » 2011-11-29 20:17:27

telo писал(а):
lamok писал(а):Здравствуйте.
Подскажите каким образом в mysql можно поставить ограничение для пользователя создавать не более 2-х баз данных??
баз или всё-таки таблиц?
если баз -- то создавайте базы самостоятельно, давайте клиентам логин/пароль на базу и всё.
а если именно таблиц -- то (если не ошибаюсь) стандартных средств не существует.
С таблицами можно также. Создать пользователю две таблицы и дать права без CREATE. Но это уже за гранью добра и зла получается.

А вообще две базы - это какое-то странное ограничение. Какая разница сколько баз? Или она одна и пускай все таблицы в одной базе будут. Или пускай их будет сколько угодно, но ограничен общий размер. А две базы - это какие-то странные полумеры.

lamok
мл. сержант
Сообщения: 111
Зарегистрирован: 2011-08-31 14:55:34

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение lamok » 2011-11-29 22:08:54

С таблицами можно также. Создать пользователю две таблицы и дать права без CREATE. Но это уже за гранью добра и зла получается.

А вообще две базы - это какое-то странное ограничение. Какая разница сколько баз? Или она одна и пускай все таблицы в одной базе будут. Или пускай их будет сколько угодно, но ограничен общий размер. А две базы - это какие-то странные полумеры.
Две это как пример;)

Вообщем решено сделать так:
1) создаем пользователя в мускуле, все права в "N"
2) талицы создаем (можем и удалять) через скрипт и проверяем в таблице сколько уже баз данных создано (вот им и ограничиваем)
3) ставим права уже на конкретную базу

Подскажите как получить размер базы и ограничить ее размер?
И как сделать чтобы базы данных (в смысле файлы) создавались в дирректории пользователя?

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение FiL » 2011-11-29 22:28:26

1. если у пользователя все права N, то базы он создавать не сможет. И считать сколько там тех баз не нужно.

2. если пользователь может создавать таблицы в принципе, то он их создаст и без скрипта. Так что на скрипт я-бы не надеялся.

3. нахрена ограничивать количество баз я так и не понял. Чисто от жадности?

4. в том-же скрипте для создания базы сделайте, чтоб она после создания переносилась куда надо, а на ее месте создавался симлинк.

lamok
мл. сержант
Сообщения: 111
Зарегистрирован: 2011-08-31 14:55:34

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение lamok » 2011-11-29 22:34:55

FiL писал(а):1. если у пользователя все права N, то базы он создавать не сможет. И считать сколько там тех баз не нужно.

2. если пользователь может создавать таблицы в принципе, то он их создаст и без скрипта. Так что на скрипт я-бы не надеялся.

3. нахрена ограничивать количество баз я так и не понял. Чисто от жадности?

4. в том-же скрипте для создания базы сделайте, чтоб она после создания переносилась куда надо, а на ее месте создавался симлинк.
1. он их создавать и не будет их создаст скрипт и пставит права на эту вновь созданную базу в таблице db на чтение вставку и удаление
2. изначально все права пользователя стоят в "N" и устанавливаем права в таблице только на базу данных
3. чтобы не захламлять;)

4. поподробнее немного можно про симлинк и как перенести... (где изначально создается база? путь можете указать?)

lamok
мл. сержант
Сообщения: 111
Зарегистрирован: 2011-08-31 14:55:34

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение lamok » 2011-11-29 23:07:50

можно примет что откуда скопировать и symlink...

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение FiL » 2011-11-30 1:44:44

lamok писал(а): 1. он их создавать и не будет их создаст скрипт и пставит права на эту вновь созданную базу в таблице db на чтение вставку и удаление
2. изначально все права пользователя стоят в "N" и устанавливаем права в таблице только на базу данных
3. чтобы не захламлять;)

4. поподробнее немного можно про симлинк и как перенести... (где изначально создается база? путь можете указать?)
Если скрипт создает одну базу в момент создания пользователя, то база будет одна. А не две. Об этом я и говорил. Или одна или не важно сколько. А две - это странное ограничение.

Про "захламлять" я не понял. Ну и какая разница, будет 100 баз по одной таблице или 1 база с сотней таблиц? чем одно более захламлено, чем другое?

Изначально база создается в datadir (такая переменная в мускуле). Переносить ее можно куда угодно - это уж как вам захочется. А на старом месте надо оставлять симлинк, чтоб мускул продолжал видеть базу по старому пути.

lamok
мл. сержант
Сообщения: 111
Зарегистрирован: 2011-08-31 14:55:34

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение lamok » 2011-11-30 8:45:17

Если скрипт создает одну базу в момент создания пользователя, то база будет одна. А не две. Об этом я и говорил. Или одна или не важно сколько. А две - это странное ограничение
Не в момент создания пользователя, а когда пользователь зайдет в раздел создания баз данных.
Изначально база создается в datadir (такая переменная в мускуле). Переносить ее можно куда угодно - это уж как вам захочется. А на старом месте надо оставлять симлинк, чтоб мускул продолжал видеть базу по старому пути.
Будет ли безопасен сей метод (если база будет в дирректории ползователя) и не снизиться ли быстродействие?

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL и ограничение пользователей на создание таблиц

Непрочитанное сообщение FiL » 2011-11-30 22:59:12

быстродействию вроде как пофик. А безопасность... ну уж это от прав зависит. Но я не вижу критичных проблем.