Portál AbcLinuxu, 4. května 2025 11:47

Dvě verze MySQL na jednom serveru

25.5.2013 16:40 | Přečteno: 1243× | Server | Výběrový blog | poslední úprava: 25.5.2013 16:32

Nedávno jsem řešil úkol jak spustit novejší verzi MySQL na produkčním serveru, na kterém už aktivně beží starší verze MySQL. Jinýmy slovy: Aby na jednom stroji byly spuštěny dvě verze MySQL. V repozitářích distribuce Debian squeeze (6.0.2) se aktualně nejnovejší verze MySQL (5.6.11) nenachází. Takže si ji stáhneme ze stránek a budeme kompilovat.

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.11.tar.gz/from/http://cdn.mysql.com/
tar xzvf mysql-5.6.11.tar.gz
cd mysql-5.6.11

Já musel ještě doinstalovat následující balíčky:

apt-get install cmake make gcc g++ libncurses-dev

Poté zavoláme cmake s parametry a následně přeložíme. Více informací zde.

cmake . -DMYSQL_TCP_PORT=3356\
             -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld-5.6.sock \
             -DCMAKE_INSTALL_PREFIX=/opt/mysql-5.6.11

make
make install

Jako vlastníka adresáře nastavíme uživatele mysql

cd /opt/mysql-5.6.11/
chown -R mysql .
chgrp -R mysql .

Poznámka: basedir a datadir by měl vlastnit uživatel mysql. Uživatel mysql byl vytvořen při dřívější instalaci MySQL serveru z repozitáře.


Pokud chcete zachovat podobné nastavení jako běžící verze MySQL tak si zkopírujte my.cnf

cp /etc/mysql/my.cnf .

a poté upravte všechny výskyty port, socket, pid-file, basedir, datadir a language

vim /opt/mysql-5.6.11/my.cnf
socket = /var/run/mysqld/mysqld-5.6.sock
pid = /var/run/mysqld/mysqld-5.6.pid
port = 3356
basedir = /opt/mysql-5.6.11
datadir = /opt/mysql-5.6.11/data
language = /opt/mysql-5.6.11/share/english

Nyní nainstalujeme databázi za pomocí scriptu:

scripts/mysql_install_db --defaults-file=/opt/mysql-5.6.11/my.cnf \
--user=mysql \
--datadir=/opt/mysql-5.6.11/data/ \
--basedir=/opt/mysql-5.6.11/

Poznámka: --defaults-file musí být vždy jako první parametr.

Vše by mělo proběhnout v pořádku a na závěr výpisu by se měla objevit OK hláška a text, který Vás nabádá na nastavení hesla.


Databázi spustíme následujícím příkazem:

bin/mysqld_safe --user=mysql &

Poté spustíme průvodce, který nám usnadní první nastavení.

/opt/mysql-5.6.11/bin/mysql_secure_installation

Tak a to je vše. Nyní na serveru beží dvě MySQL databáze různých verzí.


Chceme-li spouštět databázi při startu nakopírujeme připravený script do /etc/init.d

cp support-files/mysql.server /etc/init.d/mysql-5.6

Nezapomeneme nastavit run levely při kterých se bude databáze spouštět příkazem

update-rc.d mysql-5.6 defaults

a nebo použitím nástroje rcconf



Poznámky

pokud uvidíte chybu:

insserv: script mysql-5.6: service mysql already provided!
insserv: exiting now!
update-rc.d: error: insserv rejected the script header

tak stačí upravit řádek 18 v souboru /etc/init.d/mysql-5.6

# Provides: mysql

na

# Provides: mysql-5.6

Vzdálený přístup k MySQL

Pokud chcete povolit připojení vzdaleného uživatele je třeba nastavit adresu serveru v /opt/mysql-5.6.11/my.cnf

bind-address = 0.0.0.0 #IP adresa serveru

a také vytvořit uživatele s oprávněním přistupovat z jakékoli IP

Vytvoření uživatele s možností vzdáleného připojení

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';



Doufám, že článek někomu někdy pomůže při řešení podobného problému.

       

Hodnocení: 89 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

=^..^= AmigaPower® avatar 25.5.2013 17:58 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Dvě verze MySQL na jednom serveru
Odpovědět | Sbalit | Link | Blokovat | Admin
Hmmm, tak já si jdu do hospody skompilovat nějakou pěknou vopici :-D

Bayern nebo Borusia?
I♥DRX * www.KERNELULTRAS.org
26.5.2013 13:10 chroot
Rozbalit Rozbalit vše Re: Dvě verze MySQL na jednom serveru
Jdi pryč.
=^..^= AmigaPower® avatar 26.5.2013 15:23 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Dvě verze MySQL na jednom serveru
Ty jdi pryč.
Patrik Šíma avatar 10.7.2013 20:39 Patrik Šíma | blog: patriksima | Hlučín
Rozbalit Rozbalit vše Re: Dvě verze MySQL na jednom serveru
Odpovědět | Sbalit | Link | Blokovat | Admin
Jde to zřejmě i bez kompilace http://www.peterchen.net/2013/02/20/en-how-to-install-mysql-5-6-on-ubuntu-12-04-precise/
Continuous improvement is better than delayed perfection. ~ Mark Twain

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.