Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
1

Как в mysql оградить пользователей друг от друга?

11.04.2011, 22:29. Показов 3052. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста, как в mysql оградить пользователей, тоесть чтобы у каждого пользователя были свои бд, я пробовал в phpmyadmin создать несколько пользователей, но создавая в пользователе один бд, пользователь два ее видит и имеет к ней полный доступ, что делать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2011, 22:29
Ответы с готовыми решениями:

Как в PHP отделить элементы друг от друга, чтобы не ругались друг на друга?
<?php $chitat = fopen('yoo.txt', 'r'); if (!$chitat) { echo 'Ошибка при открытии файла...

Установил PHP и MySql на Win 2000 под IIS но они друг друга не видят. Помогите
Установил PHP и MySql на Win 2000 под IIS но они друг друга не видят. Помогите E-mail:...

Как наложить блоки друг на друга?
Т.е. вот например: <style> div { border: 1px solid black; border-radius: 10px; } </style>

Как сделать наложение друг на друга?
#AA2{ margin-left:10%; border-color: transparent transparent transparent red; border-style:...

14
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
11.04.2011, 22:41 2
Сначала входим в консоль базы рутом
mysql -u root -p

создаем новую базу bookmarks
CREATE DATABASE bookmarks;

Назначаем привилегии пользователю bookmarks, с локалхоста и с паролем password
GRANT ALL PRIVILEGES ON bookmarks.* TO "bookmarks"@"localhost" IDENTIFIED BY "password";

а потом входим в базу другим пользователем:
mysql -u hotspot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20199
Server version: 5.1.55 Mandriva Linux - MySQL Community Edition (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

и пытаемся попасть в базу bookmarks
mysql> use bookmarks;

в ответ получаем вот такое сообщение об ошибке:
ERROR 1044 (42000): Access denied for user 'hotspot'@'localhost' to database 'bookmarks'
1
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
11.04.2011, 23:49  [ТС] 3
Спасибо большое, пол дня искал, но про ограничение доступа не где нету((

Добавлено через 1 час 5 минут
У меня ошибка, что делать, я ввел
SQL
1
GRANT SELECT ON 1. * TO root@ 'localhost' IDENTIFIED BY '123';
А мне выдает ошибку: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1.* TO root@'localhost' IDENTIFIED BY '123'' at line 1
Что делать?
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
11.04.2011, 23:53 4
похоже, пробелы
GRANT SELECT ON 1.* TO root@'localhost' IDENTIFIED BY '123';
1
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
12.04.2011, 00:07  [ТС] 5
Я уже попробовал без пробелов, таже самая ошибка
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
12.04.2011, 00:16 6
http://dev.mysql.com/doc/refman/5.1/en/grant.html
похоже, указание пароля только для случая "все привилегии", а в остальных случаях указание пароля уже не нужно
0
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
12.04.2011, 00:19  [ТС] 7
Чет нечего не помогает, а принципиально через что я посылаю запросы? я просто для простоты пользуюсь phpmyadmin
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
12.04.2011, 00:26 8
phpmyadmin работает либо от рута, либо от phpmyadmin-а, наделенного административными правами.

вообще, если вы хотите, чтобы разные пользователи использовали разные базы, то (повторяю свой первый пост)
- создаеьте базу А (новую) для пользователя А
- назначаете привилегии пользователю А на использование базы А
- создаетет базу Б (другую новую) для пользователя Б
- Назначаете пользователю Б привилегии на использование Б
- при таком подходе пользователь А сможет пользоваться только базой А, а пользователь Б - только базой Б.

НО, адимны (рут, phpmyadmin) - они по определению (потому что админы) имеют доступ КО ВСЕМ базам. По этому, чтобы проверить может ли пользователь А использовать базу Б, в phpmyadmin нажмите кнопку "выйти", а потом в поле логин/пароль введите данные пользовтаеля А, и уже потом пробуйте попасть в базу Б...
1
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
12.04.2011, 00:30  [ТС] 9
все понял, я просто создал пользователя Б а в место пользователя А хотел root использовать
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
12.04.2011, 00:32 10
рут - царь и бог, ему можно все..
0
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
12.04.2011, 17:21  [ТС] 11
Все замечательно работает, только один вопрос, как указать несколько бд?
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
12.04.2011, 17:26 12
команду повторить для каждой бд, к которой хотите допустить клиента.
можно также к одной базе допустить несколько разных клиентов с разными паролями, а если мускул еще и "слушает сеть", то и с разных хостов.
честно говоря, может и есть какой-то иной более цивилизованный метод, но лично мне он не ведом
1
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
12.04.2011, 17:37  [ТС] 13
Несколько раз нельзя, так как эта команда GRANT SELECT ON 1.* TO 123@'localhost' IDENTIFIED BY '123456'; создает пользователя 123 и пароль к нему 123456... тоесть если я несколько раз введу эту команду то у меня будет несколько пользователей
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
12.04.2011, 17:58 14
не сильно понял суть проблемы в вопросе.
только что у себя ввел две команды
GRANT ALL PRIVILEGES ON bookmarks.* TO "bookmarks"@"localhost" IDENTIFIED BY "password";
и
GRANT ALL PRIVILEGES ON hotspot.* TO "bookmarks"@"localhost" IDENTIFIED BY "password";

в итоге, если вхожу в phpmyadmin пользователем bookmarks, то ему доступны две базы - bookmarks и hotspot. посмотрел в вебмине таблицу пользователей - как біла там одна строка про пользователя bookmarks, так и есть одна.
1
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
12.04.2011, 17:58  [ТС] 15
Все разобрался)))
0
12.04.2011, 17:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2011, 17:58
Помогаю со студенческими работами здесь

Как разделить целое и остаток друг от друга
Всем привет, меня интересует такой вопрос, у меня есть переменная флоат, которая хранит значение :...

20 доменов-как им помочь раскрутить друг друга?
нужен ваш мудрый совет /' border='0' style='vertical-align:middle' alt='' /> есть 20 доменов...

Как определить различаются ли изображения друг от друга?
Здравствуйте уважаемые программисты! Возникла такая задача, допустим есть два (Image1 и Image2)...

Как отделить сектора окружности друг от друга
Как отделить сектора окружности друг от друга (как на рисунке)?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru