Установка пользователя для доступа из Веб. Использование требуемой базы данных

Чтобы РНР-сценарии могли подключиться к MySQL, потребуется настроить соответствующего пользователя. В этом случае также можно применить принцип минимально необходимых полномочий. При этом следует задаться вопросом:"Какае действия должны иметь право выполнять сценарии?"

В большинстве случаев сценариям понадобится проводить над строками таблиц только операции SELECT, INSERT, DELETE и UPDATE. Можно поступить следующим образом:

mysql > grant select, insert, delete, update
->on books.*
->to serg identified by 'book123';

Понятно, что для большей безопасности следует выбрать более надежный пароль.

Если вы используете службу веб-хостинга, можно предположить, что вам будут предоставлены другие полномочия для созданной для вас базы данных. Как правило, вам будут предоставлены одни и те же имя_пользователя и пароль для работы из командной строки или веб Adnin PMA (настройка таблиц и т.д.) и для подключения к MySQL из веб-сценариев (выдача запросов к базе данных). Это катострофически снижает безопастность. Пользователя с таким уровнам полномочий можно установить следующим образом:

mysql > grant select, insert, update, delete, index, alter, create, drop
-> on books.*
-> to serg identified by 'book123';

Теперь можно приступить к настройке второго пользователя.

Выход из системы привлегированного пользователя

Покинуть монитор MySQL можно, набрав quit. После этого имеет смысл войти в систему в качестве пользователя Веб и убедиться, что все работает должным образом. Если выданный ранее оператор GRANT выполнился, но доступ оказывается невозможным, это значит, что вы не удалили анонимных пользователей во время инсталяции MySQL. Войдите в систему вновь как root и удалите учетные записи анонимных пользователей в соответствии с инструкциями. После этого вход в систему пользователя Веб станет возможным.

Использование требуемой базы данных

Если вы дошли до этой стадии, то должны находиться в системе под учетной записью MySQL уровня пользователя и быть готовыми к тестированию примера кода независимо от того, кто его установил — вы или администратор веб-сервера.

После входа в систему сначала потребуется указать базу данных, с которой необходимо работать. Это можно сделать следующим образом:

mysql > use dbname;

где dbname — имя соответствующей базы данных.

Можно и не вводить команду use, но тогда база данных должна быть указана во время входа в систему:

mysql > -D dbname -h hostname -u username -p

В этом примере мы будем работать с базой данных books:

mysql > use books;

После ввода этой команды MySQL должен вывести следующую строку:

mysql> use books;
Database changed
База данных изменена

Если перед началом работы база данных не была выбрана, MySQL выведет сообщение об ошибке:

ERROR 1046: No Database Selected
ОШИБКА 1046: Не выбрана база данных




  • Другие |
назадвверхвперед
Rambler's Top100