# Jak uruchomić dwie instancje MySQL'a?

## canis_lupus

Potrzebuję na jednym serwerze odpalić dwie instancje serwera mysql z różnymi konfiguracjami. Gdzies znalazłem że trzeba to zrobić w chroocie. To jest konieczność? Nie mozna tego jakoś prościej zrobic?

----------

## SlashBeast

jeden mysql z portage drugi z palca, z prefiksem na /opt/mysql-WERSJA, odpowiednio go skonfigurac by pracowal na innym porcie czy socketcie i odpalic jakims wlasnym/przerobionym z gentoo initscriptem.

Nie widze problemu.

W podobny sposob mam u siebie 4 wersje php z roznymi konfiguracjami.

----------

## canis_lupus

A mozesz cos więcej napisac jak to zrobic? jestem raczej początkujący w takich tematach...

----------

## SlashBeast

ja bym zrobil tak: emerge -1 mysql i gdy leci configure zrobil bym control-Z, gdzies ps aux |grep configure i spisal przelaczniki do configure, pobral bym zrodla mysqla, wypakowal gdzies, wbil tam do katalogu, odpalil configure z takimi samymi przelacznikami jak robil to portage z malymi zmianymi, np. --prefix=/usr na /opt/mysql-wersja i tak dalej, make, make install i tyle, powinno byc cacy, potem /etc/init.d/mysql bym skopiowal i przerobil, by odpalao binarke z /opt/mysql-wersja/bin/mysql i zmienil bym configa w /opt/mysql-wersja/etc/mysql/ tak, by nie klocil sie z innym mysqlem.

----------

## canis_lupus

a nie da się np zainstalować jednego mysql'a i tylko startować z innymi konfiguracjami dwa razy?

----------

## dziadu

To samo co slashbeast radzi można zrobić robiąc kopię ebuilda do lokalnego overlaya, zmieniając lekko nazwę żeby nie było konfliktu, zmiana dwóch linijek w ebuildzie i volia. Mamy nowego mysqla.

----------

## Arfrever

 *dziadu wrote:*   

> To samo co slashbeast radzi można zrobić robiąc kopię ebuilda do lokalnego overlaya, zmieniając lekko nazwę żeby nie było konfliktu, zmiana dwóch linijek w ebuildzie i volia. Mamy nowego mysqla.

 

W tym wypadku trzeba by dodatkowo utworzyć zmodyfikowaną kopię mysql.eclass...

----------

## SlashBeast

 *canis_lupus wrote:*   

> a nie da się np zainstalować jednego mysql'a i tylko startować z innymi konfiguracjami dwa razy?

 

W sumie, jakbys zremasterowal gdzies config mysqla tak, by sie nie gryzl i odpalil mysql z przelacznikiem do innego configa, nnego katalogu z bazami itp to by to dzialalo nawet bez dlubania w kompilacje z palca.

----------

## canis_lupus

O to mi właśnie chodzi. Tylko niepokoi mnie to remasterowanie...

----------

## gexcite

Polecam lekturę /etc/conf.d/mysql

Mam nadzieję, że wiele wyjaśni w tym temacie. Nie sprawdzałem, ale mam wrażenie że to to, czego potrzebujesz.

----------

## canis_lupus

chodzi o mysql-slot? spełni to moje oczekiwania (dwie różne konfiguracje)? Wydaje sie proste...

Zrobiłem tak:

/etc/conf.d/mysql:

```

mysql_slot_1=(

   "mycnf=/etc/mysql1/my.cnf"

   "server-id=1"

   "datadir=/var/lib/mysql1/"

)

mysql_slot_2=(

   "mycnf=/etc/mysql2/my.cnf"

   "server-id=2"

   "datadir=/var/lib/mysql2"

)

```

potem dwa katalogi /var/lib/mysql1 i /var/lib/mysql2

potem dwa katalogi z konfiguracją /etc/mysql1/ i /etc/mysql2/

mysql_install_db

teraz jak chcę odpalic mysql'a dostaję:

```
/etc/init.d/mysql start

 * Service mysql starting

 my_print_defaults NOT found or not executable

 MySQL-1 NOT started (1)

 my_print_defaults NOT found or not executable

091201 21:51:29 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

091201 21:51:29 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

 MySQL-2 NOT started (0)                                                                                                      [ !! ]

 * ERROR:  mysql failed to start

```

o ile max join size mnie nie niepokoi to "my_print_defaults NOT found or not executable" juz bardziej...

----------

