Portál AbcLinuxu, 10. května 2025 11:19
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.
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.
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.
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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.