Ešte pár poznámok k MySQL na Oracle Linux. Dúfam, že to nečíta žiadny linuxák, ak áno, tak nech sa preventívne prefackuje, aby neomdlel…
Peripetie s “my.conf” v predchádzajúcom článku naznačili, prečo mi linux ako taký nie je sympatický – mám chaos v adresárovej štruktúre. Pokiaľ použijem nejaký automatizovaný proces na inštaláciu (yum, rpm), tak sa po celom systéme rozseje množstvo súborov a mám problém ich jednak nájsť, jednak pokiaľ sa po inštalácii logoutnem z roota, tak prístupové práva… Cieľom je:
- mať všetko pokope
- vedieť, čo čo je a čo ovplyvňuje
- oddeliť data od software
1. Takže znova – vystrieľal som zo systému všetko, čo pripomína staršiu inštaláciu MySQL a lognutý ako root som vytvoril užívateľa “mysql” v grupe “mysql” ((1 btw. prečo v Red Hat Enterprise nefunguje “groupadd” a “useradd”, hoci podľa manuálu áno?)). Zároveň som priamo v koreni nadrzovku vytvoril adresár “mysql01” (>>> mkdir /mysql01) – you have been warned, že sa máte prefackovať. Tu som vytvoril podadresáre data/ logs/ innodata/ admin/ – celý tento priestor je určený len pre databázové data a logy a to pekne podelené podľa typov.
2. Stiahol som binárky z dev.mysql.com ako tarball a rozbalil do /opt/mysql (nový čistý adresár). Server sa bude teda spúšťať cez /opt/mysql/mysqld resp. /opt/mysql/mysqld_safe.
3. Úprava základného konfiguráku my.conf ((2 znova upozorňujem, že tu nie je originál, lež prednastavené templaty my-small.cnf, my-medium.cnf atď…)) tak, aby server po spustení vytvoril data a ukladal logy tam, kde chcem – t.j. do /mysql01/…:
basedir=/opt/mysql
datadir=/mysql01/data
log-bin=/mysql01/logs
log-error=/mysql01/logs/log.err
pid-file=/mysql01/admin/mysql01.pid
innodb_data_home_dir=/mysql01/innodata
innodb_log_group_home_dir=/mysql01/logs
Na moje veľké počudovanie celú túto srandu ide spustiť. Neviem, ako je to s bezpečnosťou a výkonom, ale mám všetko tak ako som chcel – pohromade a software oddelený od dat… A idem na pivo do Vojáka…
siwe, ze ja to vubec cet :))
1. RH je trosku specifickej.. nema v $PATH “/sbin”
takze bud v .bashrc udelat $PATH=”$PATH:/sbin” a nebo scripty soustet pomoci /sbin/[user|group]add
[mysql]
distribucni konfiguraky sou v /etc/mysql/
a data ve /var/lib/mysql
kam vsude se v RH nebo jinem rpm systemu cpou fajly z baliku lze vypsat commandem:
rpm -ql mysql
ten postup instalace je v podsate spravnej, akorat to mkdir /mysql01 je trosicku nestandartni cpal bych vsechno do /opt/mysql
nicmene to je stejnak jenom doporucenej uzus, funkcne to nikomu nevadi, a kdyz nepotrebujes aby se v tom po tobe nekdo vyznal.. tak instaluj kam chces :)
Ikdyz /mysql01 uhodi kazdeho trosku obeznameneho cloveka do nosu a timpadem to najde hned… tim je vsechno v poradku
jak “vystřílel všechno”? tos mazal? rpm se odinstalují…
prověř přítomnost zbytků balíků # rpm -qa | grep -i mysql