Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Скрипты с MySQL [PtokaX] _ Создание базы и юзера в MySQL

Автор: mariner 22.4.2009, 12:03

Из соображений безопасности, для скриптов нужно делать отдельную базу и использовать в скрипте юзера, у которого есть права только на одну взятую базу. Это повышает защиту всего MySQL-server в целом.

Лично я для администрирования сервера использую http://mydc.ru/r/?http://www.phpmyadmin.net/home_page/index.php. Но это не значит, что это сложно сделать через консоль или любым другим средством администрирования MySQL. Единственный минус - для его работы нужен вэбсервер с PHP, но сей вопрос легкорешается установкой Денвера (для Windows) или LAMP (для Linux). Это сборки - Apache2 + PHP5 + MySQL server

Ну что же, преступим. Допустим, что у вас есть установленный MySQL и в нем есть глобальный пользователь root.

Если стоит есть настроенный phpMyadmin, то зайдем по ссылке http://<адрес_сервера>/<папка_с_phpMyadmin> (по умолчанию папка phpmyadmin) и увидим:



Вводим логин root и пароль и попадаем в админку MySQL.



Ну и собственно тут нас интересует пункт "Привилегии" (на рисунке подчеркнуто)
Заходим туда и видим:



Тут нас интересует пункт "Добавить нового пользователя". (подчеркнут красным). Его и жмем. И попадаем в форму для создания юзера.




Резберем по понктам:
На рисунке выделен пункте - "Создать базу данных с именем пользователя в названии и предоставить на нее полные привилегии"
Это как раз нам ведь и надо. Создать базу и дать на нее все привелгии на запис и чтение этому юзеру.
Кроме того мы видим поля:
Имя пользователя - вбиваем то имя, далее оно убдет использоваться в скрипте, как имя базы и имя пользователя
Хост - стоит поставвить локальный или 127.0.0.1 (опять же из соображений безопасности)
Пароль и подтверждение - поля для пароля. Его можно сгенерировать на этой же странице. Далеее пароль пригодится в настройках скрипта.
Если вы все ввели, то жмем "ОК" в самом низу страницы. У вас полжно появиться что-то вот-такое:



Вот собственно и все. Сбоку появится новая база, а верху в красном (хеленом) прямоугольничке - код, аналогичный тому, который надо ввести для оздания базы через консоль.

Теперь разберем способ создания базы в консоли.
Водим в консоли: mysql -u root -p<пароль> (заметьте, пароль пишется без пробелов между ним и ключом -p)
Мы увидим, что-то такое.



Далее важное замечание:
Большинство (почти все) команды MySQL заканчиваются на ";"
и пишутся заглавными буквами!!! Не забываем это.

Начнем создавать нашего пользователя:

Код
CREATE USER 'имя_юзера'@'localhost' IDENTIFIED  BY  'тут_пароль';


Задаем права.

Код
GRANT  USAGE  ON  *  .  *  TO  'имя_юзера'@'localhost' IDENTIFIED  BY  'тут_пароль' WITH  MAX_QUERIES_PER_HOUR 0  MAX_CONNECTIONS_PER_HOUR 0  MAX_UPDATES_PER_HOUR 0  MAX_USER_CONNECTIONS 0;


Создаем базу.

Код
CREATE  DATABASE  IF  NOT  EXISTS  `имя_базы`;


Задаем юзеру привилегии созданному пользователю на базу:

Код
GRANT  ALL  PRIVILEGES  ON  `имя_базы`  .  *  TO  'имя_юзера'@'localhost';


Ну и наконец- чтобы удалить базу через консоль надо:

Код
DROP DATABASE `имя_базы`;


А также команды выхода:

Код
quit

Автор: alex82 22.4.2009, 15:51

Цитата(mariner @ 22.4.2009, 15:31) *
Этих гуевин вообщето 100500 штук. мне ажется, не стоит о каждой писать. Если хочешь - набросай в картинках что-да как.
Вообще-то эта гуёвина официальная, от разработчиков MySQL. А сильно расписывать её не нужно - там всё предельно просто.
Для создания пользователя, например, запускаем MySQLAdministrator.exe, подключаемся к MySQL, переходим в раздел User Administration, жмём Add new user, вводим имя пользователя и пароль. Далее прерходим на вкладку Schema privileges, и устанавливаем нужные привилегии для базы данных. Если база ещё не создана, то её можно создать здесь же. Затем жмем Apply changes. Усё. big_smile.gif

Автор: OtshelnikFm 22.4.2009, 21:52

Зачем городить огород?

Вот статья по установке mysql
Установка и настройка СУБД MySQL.

MySQL — это одна из самых используемых СУБД (Систем Управления Базами Данных) с открытым кодом. Версия Community распространяется на условиях лицензии GPL.
Приступим к установке. Запускайте установочный пакет (mysql-essential-5.0.51b-win32.msi). Установки по умолчанию вполне нормальны (сервер СУБД установится в C:\Program Files\MySQL\MySQL Server 5.0). После окончания установки оставьте флажок «Configure the MySQL Server now» включённым. Запустится конфигуратор сервера MySQL.
Нажмите Next.


В этом диалоге выберите «Detailed Configuration».

Дальше на выбор предлагаются три опции: «Developer Machine», «Server Machine» и «Dedicated MySQL Server Machine». Как можно догадаться из описаний, первая опция указывает потреблять минимум памяти, вторая — для среднего потребления, третья — для максимального. Если вы устанавливаете серверы на домашний компьютер, который используете, например, для игр, то оставьте первую опцию; если вы ставите серверы на отдельный компьютер (например, их у вас два и вы хотите отвести второй под сервер), то выберите вторую опцию. Третий вариант вам вряд ли понадобится (он нужен для выделенных серверов СУБД).

На следующей странице вы выбираете доступные движки баз данных. Движок MyISAM быстрее, но не поддерживает транзакции, а InnoDB работает немного медленнее, но поддерживает транзакции. Впрочем, если вы не собираетесь разрабатывать свои веб-приложения, то это вас не должно особо волновать. Выберите «Multifunctional Database», чтобы активировать оба движка.


В следующем диалоге вы выбираете место хранения таблиц InnoDB (этот шаг будет только если вы выбрали первую или вторую опцию на предыдущем шаге). Место хранения по умолчанию вполне нормально.

На следующем шаге вы устанавливаете количество одновременных подключений. Первая опция — 20, вторая — 500, третья — ваше число. Примечание: 20 соединений — это не значит, что на ваш сайт смогут зайти только 20 пользователей одновременно. Сессия скрипта с БД длится максимум пару секунд, поэтому пользователи на сайте не подключены к базе постоянно. Это что-то вроде распределения процессорного времени между программами. Первой опции вполне достаточно.

На следующей странице — сетевые настройки сервера и режим SQL. Оставьте настройки по умолчанию.


Следующий шаг — выбор кодировки по умолчанию Я предпочитаю установить кодировку utf8 по умолчанию — это вторая опция. Вы также можете выбрать третью опцию и установить кодировку cp1251. В любом случае, насколько я знаю, большинство CMS указывают кодировку явно при создании таблиц, так что это понадобится, если вы собираетесь разрабатывать свои веб-приложения.

Следующий диалог — настройки сервиса MySQL. Оставьте здесь всё по умолчанию.

На следующем шаге установите пароль для суперпользователя (root'а). Изначально доступ к БД извне за суперпользователя закрыт (отключена соответствующая галочка на этой странице). Так что здесь длинный пароль не так необходим. Но в любом случае безопасность — дело не последнее, поэтому установите какой-нибудь пароль. В любом случае, потом мы создадим ещё одного пользователя. Не устанавливайте опцию «Create An Anonymous Account» — это вредно с точки зрения безопасности.


Всё, теперь нажмите Execute. Настройки применятся. Нажмите Finish для завершения настройки.

Далее мы установим пакет MySQL GUI Tools. Это очень удобный набор утилит для администрации MySQL-сервера от самих разработчиков СУБД.

Запускаем установщик (mysql-gui-tools-5.0-r12-win32.msi). Установки по умолчанию вполне удовлетворительны. После окончания установки доступ к утилитам можно получить из меню «Пуск». Запустите MySQL Administrator.

В поле «Server Host» введите localhost, в поля «Username» и «Password» — root и пароль, который вы установили в конфигураторе, соответственно. Нажмите OK. Появится такое окно:

Переходим на страницу «Catalogs». Снизу появится список баз данных. Нажмите на пустом месте в нём правой кнопкой и выберите «Create New Schema» в меню. Введите имя новой базы данных, например, hubstatistic. Новая база данных будет создана. Сейчас мы установим для неё пользователя и права доступа. Переходим на страницу «User Administration».


Нажмите кнопку «Add new user». В поле «MySQL User» введите, например, myhubber. В поле «Password» можете ввести что-нибудь, а можете и не вводить. Что-то сложное вводить не обязательно. Перейдите на вкладку «Schema Privileges». В списке слева выберите только что созданную базу данных — hubstatistic. В правом списке появится список привилегий для данной базы данных. Вы можете выбрать все привилегии. Потом нажмите кнопку «<» (или «<<» для переноса всех привилегий). Теперь привилегии пользователя установлены, вы можете нажать кнопку «Apply changes».
Всё, сервер готов к работе. Теперь при указании в скрипте впишите базу данных hubstatistic и пользователя myhubber.

Информация взята с сайта http://mydc.ru/r/?http://vfose.ru/forum/viewtopic.php?f=5&t=542