Итак, собственно имеется сервер под управлением debian 5 Lenny с пятым мускулем. В phpmyadmin от любого пользователя видны все БД, даже те которые к нему не привязаны. Вот скрины:
При попытке сбросить привелегии выдаёт:
Примечание: phpMyAdmin получает информацию о пользовательских привилегиях непосредственно из таблиц привилегий MySQL. Содержимое этих таблиц может отличаться от привилегий, используемых сервером, если они были изменены вручную. В таком случае необходимо перезагрузить привилегии.
и постоянно сбрасывая их выводится эта надпись.. В общем ай нид хелп.
Скорее всего при создании пользователей им дали права на все базы. Проверить легко:
user@localhost
mysql> show grants for sqlremont@localhost;
+-----------------------------------------------------------------------------------------------------------------+
| Grants for sqlremont@localhost |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT FILE ON *.* TO 'sqlremont'@'localhost' IDENTIFIED BY PASSWORD '*C17240D70229DBF0D79144B9CE404CDFC6944F4D' |
| GRANT ALL PRIVILEGES ON `remont`.* TO 'sqlremont'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
Как мы видим пользователю доступна база remont и глобальное право FILE при коннекте с localhost.
Дабы не плодить темы, недавно установил связку апач+мускуль+пхп все работает, пхп страницы отображаются и тп,иду дальше распаковываю вордпресс,создаю в мускуле базуданных с именем пользователя и паролем и тп все создаетсяназначаю ему все привилегии все нормально,далее иду в конфиг вордпресса все там меняю на как надо,сто раз проверил пароль и имя пользователя идентичны,все должно работать,захожу в инсталл и пишет Error establishing a database connection из чего делаю вывод что к серверу мускуля он вроде как подключился но что то с базой,проверял базу еще раз все как надо как в конфиге так и в этом, я уже второй день бьюсь не знаю что делать
mysql> show grants for USER@localhost;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for USER@localhost |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON *.* TO 'USER'@'localhost' IDENTIFIED BY PASSWORD '*PASSWORD |
| GRANT ALL PRIVILEGES ON `USER`.* TO 'USER'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
Вы не правы, проблема решена и Вы сами это подтвердили.
Посмотрите внимательно на приведённый Вами вывод прав пользователя, особено на то, доступ к каким базам он имеет и сравните сравните с приведёным мной.
Вы не правы, проблема решена и Вы сами это подтвердили.
Посмотрите внимательно на приведённый Вами вывод прав пользователя, особено на то, доступ к каким базам он имеет и сравните сравните с приведёным мной.
ну исходя из вывода он имеет привилегии только к своей базе данных, однако на деле это не так, в phpmyadmin`e по прежнему от любого пользователся можно шарить по всем бд.
Даже если я из консоли под этим пользователем пытаюсь просмотреть бд он выдаёт:
кажется проблема решена, дело в том, что у каждого пользователя стояли глобальные привилегии которые позволяли просматривать другие бд, сейчас у каждого пользователя из глобальных привелегий только USAGE
Но есть ещё одна мини проблема, я перезагружаю привилегии, но мне выводит:
Примечание: phpMyAdmin получает информацию о пользовательских привилегиях непосредственно из таблиц привилегий MySQL. Содержимое этих таблиц может отличаться от привилегий, используемых сервером, если они были изменены вручную. В таком случае необходимо перезагрузить привилегии.
в общем сколько бы раз я не перезагрузил их, это сообщение всё-равно есть=)