русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Запуск нескольких серверов


Дата добавления: 2015-07-09; просмотров: 505; Нарушение авторских прав


Обычно сценарий safe mysqld запускает сервер MySQL от имени специального пользователя. Но на самом деле любой пользователь системы может запустить свой сервер параллельно с другими серверами, при условии, что все они будут работать с разными портами или сокетами. Таким способом часто обеспечивается повышенный уровень безопасности.

К примеру, провайдеры Internet продают дисковое пространство Web-серверов множеству пользователей. В такой открытой среде нельзя рассчитывать на то, что пользователи не будут злоупотреблять своими привилегиями, имея доступ к общим ресурсам. Вместо того чтобы предоставлять каждому пользователю отдельную базу данных и заниматься администрированием всего множества баз данных, провайдеры создают для каждого пользователя свой сервер. Это позволяет пользователям самостоятельно заниматься администрированием, не мешая остальным.

Неудобством такого подхода является то, что приложения должны подключаться к серверам, используя нестандартные установки. Все их нужно свести в персональный конфигурационный файл ~/my.cnf.

Нестандартные значения номера порта или имени сокета, с которыми работает сервер, тоже нужно вынести в отдельный конфигурационный файл, который передается демону mysqld при запуске. Каждому серверу необходим и свой каталог данных. Все это можно сделать вручную, но лучше воспользоваться специально предназначенным для этих целей сценарием mysqld multi.

Данный сценарий работает с одним конфигурационным файлом, в котором у каждого сервера есть своя группа опций, объединенных под общим заголовком. В группу [mysqld multi] входят опции самого сценария, а названия остальных групп состоят из имени сервера и его номера, например [mysqld 13]. Опции каждой группы передаются соответствующему демону mysqld при его запуске.

Сценарий mysqld multi может запускать и останавливать любой сервер, указанный по номеру, но для этого сценарий должен иметь привилегию SHUTDOWN. Ею не должен владеть кто угодно, поэтому нужно создать специальную учетную запись на каждом сервере, где подобные действия разрешены (листинг 12.10). Имя пользователя и пароль должны быть везде одинаковыми. Поместите их в группу [mysqld multi] как показано в листинге 12.11.



GRANT SHUTDOWN ON *.* TOmulti admin@localhostIDENTIFIED BY ‘password’

Листинг 12.10. (html, txt)

У каждого сервера должна быть своя группа опций. В названии группы нужно указать положительное целое число, уникальное в пределах файла. Группы не обязаны располагаться по порядку. Для каждого сервера нужно задать файл сокета номер порта и каталог данных. Что касается имени пользователя, то разрешается, чтобы один и тот же пользователь запускал несколько серверов. В листинге 12.11 создаются три сервера для трех пользователей.

[mysqld multi]mysqld = /usr/local/libexec/mysqldmysqladmin = /usr/local/bin/mysqladminuser = multi adminpassword = password log = /usr/local/var/multi.1og [mysqd1]socket = /tmp/mysql.sockport = 3306pid-file = /usr/local/mysql/var/mysqld1/myserver.piddatadir = /usr/local/mysql/var/mysqld1/user = jgalt [mysqd2]socket = /tmp/mysq2.sockport = 3307pid-file = /usr/local/mysql/var/mysqld2/myserver.piddatadir = /usr/local/mysql/var/mysqld2/user = dtaggart [mysqd3]socket = /tmp/mysq3.sockport = 3308pid-file = /usr/local/mysql/var/mysqld3/myserver.piddatadir = /usr/local/mysql/var/mysqld3/user = hreardon

Листинг 12.11. (html, txt)

13.



<== предыдущая лекция | следующая лекция ==>
Репликация в MySQL | Библиотека функций отладки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.074 сек.