URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93820
[ Назад ]

Исходное сообщение
"Два mysql сервера на одном хосте"

Отправлено ALex_hha , 20-Сен-12 10:59 
Собственно интересует возможность поднятия второго mysql сервера (5.5) на CentOS-6.3. Уже стоит родной MySQL-5.1, обновится до 5.5 нет возможности, нужно именно установить две версии параллельно. Варианты установки из исходников не предлагать. Хотелось бы избежать необходимости установки виртуалки (kvm/virtualbox/openvz/...)

Содержание

Сообщения в этом обсуждении
"Два mysql сервера на одном хосте"
Отправлено PavelR , 20-Сен-12 12:21 
> Собственно интересует возможность поднятия второго mysql сервера (5.5) на CentOS-6.3.
> Уже стоит родной MySQL-5.1, обновится до 5.5 нет возможности, нужно именно
> установить две версии параллельно. Варианты установки из исходников не предлагать. Хотелось
> бы избежать необходимости установки виртуалки (kvm/virtualbox/openvz/...)

1) Создаем каталог с конфигом второго инстанса. /etc/mysql-second/
2) cd /usr/bin/ ; ln mysqld mysld-second
3) правим конфиг второго инстанса
4) копируем инит-д скрипт, чтобы он запускал бинарь mysqld-second с соответствующим конфигом
5) где-то там надо создать каталог для второго инстанса БД, выставить права, сделать инициализацию БД, всё в соответствии с конфигом инстанса
6) ну логи тоже отдельно надо вынести, наверное, если они не в /var/lib/mysql-second писаться будут


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


"Два mysql сервера на одном хосте"
Отправлено PavelR , 20-Сен-12 12:23 

> 3) правим конфиг второго инстанса

Уточняю:

* прописываем новый путь к БД
* прописываем новый файл сокета
* прописываем новый файл пид-файла
* прописываем новый порт
* ??


"Два mysql сервера на одном хосте"
Отправлено ALex_hha , 20-Сен-12 12:57 
>> 3) правим конфиг второго инстанса
> Уточняю:
> * прописываем новый путь к БД
> * прописываем новый файл сокета
> * прописываем новый файл пид-файла
> * прописываем новый порт
> * ??

А вы представляете как это потом все обновлять? :) И не забываем, что в 5.5 очень многое поменялось, в том числе и либы


"Два mysql сервера на одном хосте"
Отправлено PavelR , 20-Сен-12 14:38 
>>> 3) правим конфиг второго инстанса
>> Уточняю:
>> * прописываем новый путь к БД
>> * прописываем новый файл сокета
>> * прописываем новый файл пид-файла
>> * прописываем новый порт
>> * ??
> А вы представляете как это потом все обновлять? :) И не забываем,
> что в 5.5 очень многое поменялось, в том числе и либы

А что обновлять?  Да никаких проблем.

Конфиг-файл остается прежним. инит-скрипты тоже мало меняются. Скопированные инит-скрипты так вообще не тронутся обновлением. Соответственно, дублирующие инстансы запустятся без проблем. А основной - тоже запустится, это задача пакета чтобы он работал.

Бинари я делаю симлинками (не хардлинками, уточнил специально) на основной бинарь, т.е. пакет обновит бинарь и всё будет в шоколаде.

-----------------------

стоп, туплю. Всё вышенаписанное - для запуска нескольких копий одной версии мускула..

Короч, чтобы запустить две версии одного софта...
Я делал на одном хосте одновременно и пых-5.2 и пых-5.4 =)  под дебианом.

без:

>Хотелось бы избежать необходимости установки виртуалки (kvm/virtualbox/openvz/...)

Всё просто. Заинсталлировал через debian-installer или как там его, отдельную копию дебиана в отдельный каталог, потом сделал туда чрут и наслаждался жизнью.

>А вы представляете как это потом все обновлять? :) И не забываем, что в 5.5 очень многое поменялось, в том числе и либы

Собственно, получается как бы две системы, основная и в чруте, обновлять придется каждую отдельно.

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

инит-скрипт:

[...some lines was skipped...]

case "$1" in
  reload)
        /usr/sbin/chroot /web/k/chroot/ /etc/init.d/apache2 $1
        log_end_msg $?
    ;;
  start)
        log_daemon_msg "Starting web server" "apache2-k"
        /usr/sbin/chroot /web/k/chroot/ /etc/init.d/apache2 start
        log_end_msg $?
    ;;
  stop)
        log_daemon_msg "Stopping web server" "apache2-k"
        /usr/sbin/chroot /web/k/chroot/ /etc/init.d/apache2 stop
        log_end_msg $?
    ;;
  force-reload|restart)
    $0 stop
    $0 start
    ;;
  status)
    status_of_proc -p $PIDFILE $DAEMON apache2-k && exit 0 || exit $?
    ;;
  *)
    echo "Usage: /etc/init.d/apache2-k {start|stop|restart|force-reload|status}"
    exit 1
    ;;
esac

exit 0


"Два mysql сервера на одном хосте"
Отправлено ALex_hha , 20-Сен-12 18:23 
Тогда уж проще в lxc контейнере поднять, имхо. Просто хотелось бы без этого обойтись, но по видимому не получится.

"Два mysql сервера на одном хосте"
Отправлено Pahanivo , 21-Сен-12 07:56 
> Тогда уж проще в lxc контейнере поднять, имхо. Просто хотелось бы без
> этого обойтись, но по видимому не получится.

на фре я это делал с апачами и мускулами во время перехода с мускула 4 на 5
тупо собирал ручками в другой дир


"Два mysql сервера на одном хосте"
Отправлено vg , 21-Сен-12 11:58 
>> 3) правим конфиг второго инстанса
> Уточняю:
> * прописываем новый путь к БД
> * прописываем новый файл сокета
> * прописываем новый файл пид-файла
> * прописываем новый порт
> * ??

Не забудьте что если включен SeLinux, он может не дать запустить другой процесс mysql с другой директорией для баз, кроме /var/lib/mysql


"Два mysql сервера на одном хосте"
Отправлено LSTemp , 22-Сен-12 23:09 
> Варианты установки из исходников не предлагать.

Все в сад. Слушать песни. (c) Трое в лодке не считая собаки.



"Два mysql сервера на одном хосте"
Отправлено ALex_hha , 24-Сен-12 13:27 
>> Варианты установки из исходников не предлагать.
> Все в сад. Слушать песни. (c) Трое в лодке не считая собаки.

для гентушников и слаководов был бы рай :D