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

Форум MySQL

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

 

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

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

тема: доступ к таблицам
 
 автор: sapEngine   (20.04.2007 в 12:42)   письмо автору
 
 

в линуксе в комадной строке по рутом всё работает, не получается под пользователем
захожу под рутом так mysql -u root -h localhost -p
ввожу пароль в строке запроса - всё ок

под рутом сделал
create user uuu identified by 'uuu';
grant all on somebase.* to uuu;

но потом не могу в коммандной строке под пользователем получить доступ к somebase (и вообще не понимаю что получаю

пытаюсь зайти так mysql -u root -h localhost -p
ввожу пароль - НЕ ПУСКАЕТ!

если не ввожу пароль, то пускает
но по show databases somebase нету

пробовал
mysql -u uuu
mysql -u uuu -p
mysql -u uuu@localhost
mysql -u uuu@localhost -p

результат один, если ввожу пароль (он точно верный уже несколько раз пользователя пересоздал)
либо не ввожу пускает (кстати вообще под любым даже несуществующим пользователем) но somebase не видит

   
 
 автор: Trianon   (20.04.2007 в 13:05)   письмо автору
 
   для: sapEngine   (20.04.2007 в 12:42)
 

попробуйте создать так:

CREATE USER 'uuu'@ 'localhost' IDENTIFIED BY 'пароль';

GRANT USAGE 
  ON * . * 
  TO 'uuu'@ 'localhost' IDENTIFIED BY 'пароль' 
  WITH MAX_QUERIES_PER_HOUR 0 
             MAX_CONNECTIONS_PER_HOUR 0 
             MAX_UPDATES_PER_HOUR 0 
            MAX_USER_CONNECTIONS 0 ;

А привилегии добавить так:


GRANT ALL PRIVILEGES 
   ON `somebase.*` . * 
   TO 'uuu'@'localhost' 
   WITH GRANT OPTION ;

   
 
 автор: sapEngine   (20.04.2007 в 13:53)   письмо автору
 
   для: Trianon   (20.04.2007 в 13:05)
 

уверен что не получиться, я ведь не могу даже под пользователем нормально зайти

   
 
 автор: cheops   (20.04.2007 в 14:30)   письмо автору
 
   для: sapEngine   (20.04.2007 в 13:53)
 

>уверен что не получиться
Сначала попробуйте... когда вы создаёте пользователя при помощи CREATE USER - он не обладает никакими правами (привилегиями), тем более правами на доступ к базам данных - ему нужно назначить эти права при помощи оператора GRANT.

   
 
 автор: sapEngine   (20.04.2007 в 14:40)   письмо автору
 
   для: cheops   (20.04.2007 в 14:30)
 

конечно пользователь будет создан буду даны права НО!

НО!

главная проблема, что я НЕ МОГУ ЗАЙТИ ПОД ЭТИМ ПОЛЬЗОВАТЕЛЕМ, все примеры как я пробовал это делать в первом посте

   
 
 автор: sapEngine   (20.04.2007 в 14:45)   письмо автору
 
   для: cheops   (20.04.2007 в 14:30)
 

назначение прав тоже можно увидеть в верхнем посте

в любом случае, не суть важно

главная проблема - проблема запустить коммандную строку под конкретным пользователем,

напишите пожалуйста (просто для информации) кто как это делает
повторяю под рутом захожу так: mysql -u root -h localhost -p
спрашивается пароль, я его ввожу и всё ок
под пользователем же пишется NO ACCESS :) хм пришла идея в голову, может быть нет какого-нибудь права вроде connect, хотя всегда делал подобным образом и всё было ок

   
 
 автор: cheops   (20.04.2007 в 14:56)   письмо автору
 
   для: sapEngine   (20.04.2007 в 14:45)
 

Хм... может не обновляется таблица привилегий в оперативной памяти (привилегии читаются только один наз, при старте сервера, а далее берутся из оперативной памяти)... попробуйте после создания пользователя и назначения привелений выполнить оператор
FLUSH PRIVILEGES;

Это обновит таблицу привилений в оперативной памяти или вообще прегрузите MySQL-сервер.

   
 
 автор: sapEngine   (20.04.2007 в 14:58)   письмо автору
 
   для: cheops   (20.04.2007 в 14:56)
 

пробовал flush
даже mysqld перезапускал

чует моё сердце :)) какая-то простая элементарная проблема, а я туплю

   
 
 автор: sapEngine   (20.04.2007 в 15:02)   письмо автору
 
   для: cheops   (20.04.2007 в 14:56)
 

попробовал ( на всякий случай :) ) написать php-скрипт для подключения под одним из юзверей,
тот no access

   
 
 автор: cheops   (20.04.2007 в 15:05)   письмо автору
 
   для: sapEngine   (20.04.2007 в 15:02)
 

Зайдите из под root в базу данных mysql в таблице Users имеется запись для пользователя - пароль нормальный, зашифрованный? Какие привилегии у пользователя?

   
 
 автор: sapEngine   (20.04.2007 в 15:13)   письмо автору
 
   для: Trianon   (20.04.2007 в 13:05)
 

ВСЕМ КТО ПОМОГАЛ БОЛЬШОЕ СПАСИБО!
:)) заработало! прав был Trianon вери сенькс
хотя я и не понимаю всё-таки в чём дело, в чём собственно у меня ошибка
но метод Trianon'а работает, также благодарю тебя cheops :)) надо было последовать твоему совету и сразу пробовать

   
 
 автор: sapEngine   (23.04.2007 в 06:50)   письмо автору
 
   для: sapEngine   (20.04.2007 в 12:42)
 

путём экспериментов, выянил в чём дело

если указывать имя пользователя в коммандах польностью с именем хосте, т.е. uuu@localhost
вместо просто uuu,
то всё прекрасно работает, примечательно, что в версии mysql под windows хост можно не указывать

   
 
 автор: sapEngine   (23.04.2007 в 07:44)   письмо автору
 
   для: sapEngine   (20.04.2007 в 12:42)
 

оказалось не так просто, для подключения всё-таки необходимо давать право usage на всё

т.е. под рутом

grant usage on *.* to uuu@localhost identified by 'uuu';

   
Rambler's Top100
вверх

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