Re[4]: [Comm] Идеальный скрипт перезапуска mysqld

Aleksander N. Gorohovski =?iso-8859-1?q?angel_=CE=C1_feht=2Edgtu=2Edonetsk=2Eua?=
Пн Янв 17 10:16:27 MSK 2005


On Sat, 15 Jan 2005 20:01:48 +0500, elecom <vod на elecom.ru> wrote:

>
>
>> Здравствуйте Денис
>>
>> >> Мне нужен простой sh скриптик с параметрами start|stop|restart
>>
>> DK> Вы шутите?
>> DK> /etc/init.d/mysql start|stop|restart
>>
>> Всё дело в том, что одновременно запущено несколько mysql и хотелось
>> бы обращаться к ним например вот так:
>> mysql5 restart
>>
>> а не писать кучу параметров: пароль, юзера, сокет, ссылку на конфиг и  
>> т.д.
> Тогда все-таки стоит потрудиться и написать /etc/init.d/mysqld1
> /etc/init.d/musqld2 , как вам уже посоветовали.
> Я делал такой вариант для httpd, radiusd, и он нормально работает.  
> Методика
> в общем проста:
> Необходимо следующее:
> 1. непосредственно для разных экземпляров сервиса, безотносительно к
> скриптам его запуска, обеспечить
> различные конфигурационные файлы, рабочие каталоги, лог-файлы, pid файлы.
> 2. сделать по одному экземпляру скрипта в /etc/init.d для каждого  
> экземпляра
> сервиса.
> 3. обеспечить соответствие пересекающихся по смыслу параметров (например,
> pid-файлы) в скриптах запуска и
> конфигурационных файлах серевера.
>
> Основная работа состоит в модификации скриптов запуска так, чтобы команды
> start, stop и т.д. посыла-
> лись нужному экземпляру сервиса, и сервис запускался с нужным
> конфигурационным файлом.
> Для httpd это делается так:
> 1. создаем линк на http, имеющий другое имя, например: ln -s  
> /usr/sbin/httpd
> /usr/sbin/httpd-test
> (кто-то в этом треде упоминал про проблему killall в скрипте, так линк  
> как
> раз для этого)
> 2. прикладываем патч (см. аттач), который модифицирует скрипт запуска,
> добавляя возможность иметь разные
> конфиги и делать start/stop отдельным экземплярам
> 3. тиражируем скрипт n раз. У меня например /etc/init.d/httpd и
> /etc/init.d/httpd-test различаются только этим
> < BINARY=/usr/sbin/httpd
> < PIDFILE=/var/run/httpd.pid
> < PERLPIDFILE=/var/run/httpd-perl.pid
> < LOCKFILE=/var/lock/subsys/httpd
> ---
>> BINARY=/usr/sbin/httpd-test
>> PIDFILE=/var/run/httpd-test.pid
>> PERLPIDFILE=/var/run/httpd-perl-test.pid
>> LOCKFILE=/var/lock/subsys/httpd-test
> 23c23
> < CFGFILE=/etc/httpd/conf/httpd.conf
> ---
>> CFGFILE=/home/test/httpd/conf/httpd.conf
> 33c33
> < STATUSURL="http://localhost/server-status"
> ---
>> STATUSURL="http://www.test.ru/server-status"
>
> Правда, в вашем случае дело осложняется тем, что mysqld пускается через
> safe-mysqld, но это тоже
> решаемая проблема

Sorry,
А как сделать чтобы MySQL автоматом стартовал после включения системы?
chkconfig --level 12345 mysqld on
не помогает.
:-(



Подробная информация о списке рассылки community