Portál AbcLinuxu, 26. dubna 2024 23:30


Dotaz: presun datovych souboru mysql

5.8.2009 18:46 rainbof
presun datovych souboru mysql
Přečteno: 269×
Odpovědět | Admin

na serveru mam sw raid0 namountovany do slozky /raid0 chtel jsem tam presunout data mysql databaze

 

ale trosku jsem pri tom narazil na odpor.

 

Stopnul jsem db, v my.ini jsem upravil v my.ini datadir na /raid0/mysql, do teto slozky jsem nakopiroval, puvodni obsah /var/lib/mysql, priradil prava pro mysql:mysql slozce vcetne podadresaru. pak jsem dal /etc/init.d/mysq start a nic. toto jsem nasel v logu. - podotykam ze to neni pravy prava jsou dobre bude to necim souvisejicim ale cim.... potyka se s tim zrejme vic lidi ale nevim jak to poresit. Neobelstil jsem jej ani symlinkem.

 

vypis syslogu

 

Aug  5 10:42:35 ropak mysqld_safe[30947]: started
Aug  5 10:42:35 ropak mysqld[30950]: 090805 10:42:35 [Warning] Can't create test file /raid0/mysql/ropak.lower-test
Aug  5 10:42:35 ropak mysqld[30950]: 090805 10:42:35 [Warning] Can't create test file /raid0/mysql/ropak.lower-test
Aug  5 10:42:35 ropak kernel: [759087.196649] type=1503 audit(1249461755.160:88): operation="inode_create" requested_mask="a::" denied_mask="a::" fsuid=0 name="/raid0/mysql/ropak.lower-test" pid=30949 profile="/usr/sbin/mysqld"
Aug  5 10:42:35 ropak kernel: [759087.196809] type=1503 audit(1249461755.160:89): operation="inode_create" requested_mask="a::" denied_mask="a::" fsuid=0 name="/raid0/mysql/ropak.lower-test" pid=30949 profile="/usr/sbin/mysqld"
Aug  5 10:42:35 ropak mysqld[30950]: 090805 10:42:35  InnoDB: Operating system error number 13 in a file operation.
Aug  5 10:42:35 ropak mysqld[30950]: InnoDB: The error means mysqld does not have the access rights to
Aug  5 10:42:35 ropak mysqld[30950]: InnoDB: the directory.
Aug  5 10:42:35 ropak mysqld[30950]: InnoDB: File name ./ibdata1
Aug  5 10:42:35 ropak mysqld[30950]: InnoDB: File operation call: 'open'.
Aug  5 10:42:35 ropak mysqld[30950]: InnoDB: Cannot continue operation.
Aug  5 10:42:35 ropak kernel: [759087.212504] type=1503 audit(1249461755.180:90): operation="inode_permission" requested_mask="rw::" denied_mask="rw::" fsuid=107 name="/raid0/mysql/ibdata1" pid=30949 profile="/usr/sbin/mysqld"
Aug  5 10:42:35 ropak mysqld_safe[30957]: ended
Aug  5 10:42:49 ropak /etc/init.d/mysql[31107]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Aug  5 10:42:49 ropak /etc/init.d/mysql[31107]: ^G/usr/bin/mysqladmin: connect to server at 'localhost' failed
Aug  5 10:42:49 ropak /etc/init.d/mysql[31107]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Aug  5 10:42:49 ropak /etc/init.d/mysql[31107]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Aug  5 10:42:49 ropak /etc/init.d/mysql[31107]:

nefunguje to ani pokud udelam symlink a data necham ve stejne slozce.

 

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

Odpovědi

5.8.2009 19:33 cronin | skóre: 49
Rozbalit Rozbalit vše Re: presun datovych souboru mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Okrem "klasickych" suborovych opravneni tam mozu byt dalsie bezpecnostne vrstvy: SELinux, AppArmor.
5.8.2009 21:01 rainbof
Rozbalit Rozbalit vše Re: presun datovych souboru mysql

SELinux nemám, nalezl jsem však apparmor.

v /etc/apparmor.d/usr.sbin.mysqld jsem doplnil dva řádky

  /raid0/mysql/ r,
  /raid0/mysql/** rwk,

Výsledek je naprosto stejný. ale, nakonec jsem udělal dpkg-reconfigure apparmor nahodil databázi a jde to. (Čímž Vám děkuji za nakopnutí do té správné části)
 

Ovšem netuším co to dpkg-reconfigure vlastně provedlo a kde.

6.8.2009 07:17 cronin | skóre: 49
Rozbalit Rozbalit vše Re: presun datovych souboru mysql
Ovšem netuším co to dpkg-reconfigure vlastně provedlo a kde.
To ako pouzivatel FreeBSD netusim ani ja, a do vcera som netusil ani ze nejaky apparmor existuje. Len som par minut pogooglil na temu Tvojho problemu a ako jedinu pricinu uvedenych problemov pri presune MySQL databazy som nasiel prave apparmor; selinux som tam dohodil iba ako dalsiu potencialnu moznost. :-D
1.6.2010 21:56 cremac
Rozbalit Rozbalit vše Re: presun datovych souboru mysql
Omlouvam se za prispivani do stareho vlakna, ale chtel jsem Vam podekovat za pomoc. Problem jsem resil nekolik hodin, nyni po vypnuti apparmor vse funguje! Jeste jednou diky!
5.8.2009 20:06 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
Rozbalit Rozbalit vše Re: presun datovych souboru mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Aug  5 10:42:35 ropak kernel: [759087.212504] type=1503 audit(1249461755.180:90): operation="inode_permission" requested_mask="rw::" denied_mask="rw::" fsuid=107 name="/raid0/mysql/ibdata1" pid=30949 profile="/usr/sbin/mysqld"

 

Tahle hlaska napovida ze je zaplej SELinux. Vice se dozvite z logu /var/log/audit/audit.log

Jaky mate vystup z prikazu getenforce. Pokud je Enforsing tak je SELinux zapnuty a uplatnuji se pravidla. Prepnete jej do Permisive modu a zkuste spustit databazi znovu. Prepnete jej pomoci prikazu setenforce 0

 

Založit nové vláknoNahoru

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

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