Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Базы данных »   MySQL -- проверка прав на создание базы
RSS

MySQL -- проверка прав на создание базы

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: wsxПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Вопрос такой: как в MySQL проверить, существует ли БД с указанным именем и имеются ли у текущего пользователя права на ее создание?

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
wsx
Модератор раздела
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
наверное


show privileges;



И проверить есть ли грант на создание базы.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
SHOW PRIVILEGES для использования из скрипта очень неудобная штука...
В итоге я сделал так:
SELECT Db FROM mysql.db WHERE DB="имя_базы"
-- это проверка на существование. Если запрос не возвращает ничего, то базы не существует, если 1 ряд — то существует. Сначала я еще и владельца пытался проверять (поле User), но потом оказалось, что на некоторых хостингах (особенно тех, где стоит CPanel) БД записываются на имя rootа, а не пользователя, от которого идет подключение, и в этом случае скрипт их не видит, поэтому пришлось отказаться.
А права на создание базы проверяю следующим запросом:
SELECT Create_priv FROM mysql.user WHERE User="имя_пользователя"
Правда, эта проверка — упрощенная (т.к. по хорошему надо бы добавить отслеживание ситуации, когда пользователь может подключаться с различных хостов).

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Как выяснилось, далеко не все так просто... На большинстве хостингов запрещен просмотр таблицы mysql.db, поэтому такую ситуацию тоже необходимо обрабатывать...

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
<<Назад  Вперед>>Модератор: wsxПечать
Объединенный Открытый Проект »   Базы данных »   MySQL -- проверка прав на создание базы
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0768. Количество выполненных запросов: 18, время выполнения запросов 0.0258