encfs mysql datadir: Errcode: 13

2

Estou usando o encfs para codificar o diretório /var/lib/mysql data, mas o mysql retorna Errcode: 13 em qualquer tentativa de criar tabelas ou bancos de dados.

Para fazer isso, movi todos os arquivos para um diretório temporário, criei o encfs e movi o conteúdo temporário para o novo fs montado.

Também tenho alguns scripts que param o apache e o mysql, montam os diretórios (eu também codifico /var/www , sem qualquer problema), e depois os reinicio.

/var/lib/mysql e todos os arquivos e subdiretórios são usuário e grupo mysql , com permissões de gravação e leitura:

$ ls /var/lib/mysql -cal
total 28996
drwxrwxrwx  8 mysql mysql     4096 ene  9 22:20 .
drwxr-xr-x 68 root  root      4096 ene  9 19:10 ..
-rw-r--r--  1 mysql mysql        0 ene  9 21:07 debian-5.5.flag
-rw-rw----  1 mysql mysql 18874368 ene  9 21:07 ibdata1
-rw-rw----  1 mysql mysql  5242880 ene  9 22:20 ib_logfile0
-rw-rw----  1 mysql mysql  5242880 ene  9 21:07 ib_logfile1
drwx------  2 mysql mysql    16384 ene  9 21:07 mysql
-rw-rw----  1 mysql mysql        6 ene  9 21:07 mysql_upgrade_info
drwx------  2 mysql mysql     4096 ene  9 21:07 performance_schema
drwx------  2 mysql mysql     4096 ene  9 21:07 phpmyadmin
drwx------  2 mysql mysql     4096 ene  9 21:07 database1
drwx------  2 mysql mysql     4096 ene  9 21:07 database2
drwx------  2 mysql mysql     4096 ene  9 21:07 test


$ sudo ls /var/lib/mysql/phpmyadmin -cal
total 440
drwx------ 2 mysql mysql  4096 ene  9 21:07 .
drwxrwxrwx 8 mysql mysql  4096 ene  9 22:20 ..
-rw-rw---- 1 mysql mysql    65 ene  9 21:07 db.opt
-rw-rw---- 1 mysql mysql  8682 ene  9 21:07 pma_bookmark.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_bookmark.MYD
-rw-rw---- 1 mysql mysql  1024 ene  9 21:07 pma_bookmark.MYI
-rw-rw---- 1 mysql mysql 12964 ene  9 21:07 pma_column_info.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_column_info.MYD
-rw-rw---- 1 mysql mysql  4096 ene  9 21:07 pma_column_info.MYI
-rw-rw---- 1 mysql mysql  8704 ene  9 21:07 pma_designer_coords.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_designer_coords.MYD
-rw-rw---- 1 mysql mysql  2048 ene  9 21:07 pma_designer_coords.MYI
-rw-rw---- 1 mysql mysql  8730 ene  9 21:07 pma_history.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_history.MYD
-rw-rw---- 1 mysql mysql  4096 ene  9 21:07 pma_history.MYI
-rw-rw---- 1 mysql mysql  8644 ene  9 21:07 pma_pdf_pages.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_pdf_pages.MYD
-rw-rw---- 1 mysql mysql  1024 ene  9 21:07 pma_pdf_pages.MYI
-rw-rw---- 1 mysql mysql  8800 ene  9 21:07 pma_relation.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_relation.MYD
-rw-rw---- 1 mysql mysql  4096 ene  9 21:07 pma_relation.MYI
-rw-rw---- 1 mysql mysql  8708 ene  9 21:07 pma_table_coords.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_table_coords.MYD
-rw-rw---- 1 mysql mysql  2048 ene  9 21:07 pma_table_coords.MYI
-rw-rw---- 1 mysql mysql  8656 ene  9 21:07 pma_table_info.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_table_info.MYD
-rw-rw---- 1 mysql mysql  2048 ene  9 21:07 pma_table_info.MYI
-rw-rw---- 1 mysql mysql  9149 ene  9 21:07 pma_tracking.frm
-rw-rw---- 1 mysql mysql     0 ene  9 21:07 pma_tracking.MYD
-rw-rw---- 1 mysql mysql  2048 ene  9 21:07 pma_tracking.MYI
-rw-rw---- 1 mysql mysql  8652 ene  9 21:07 pma_userconfig.frm
-rw-rw---- 1 mysql mysql    28 ene  9 21:07 pma_userconfig.MYD
-rw-rw---- 1 mysql mysql  2048 ene  9 21:07 pma_userconfig.MYI

E verifique se o deamon é executado como mysql :

user@server:~$ sudo ps -eo pid,pgrp,ppid,comm,cgroup,euser,egroup,fuser,fgroup,ruser,rgroup,suser,sgroup,label| grep mysql
 2475  2475     1 mysqld          -                           mysql    mysql    mysql    mysql    mysql    mysql    mysql    mysql    /usr/sbin/mysqld

O mais estranho é que o serviço é executado e o mysql é capaz de ler todos os arquivos (mostra bancos de dados e tabelas criados anteriormente sem problemas). Mas quando tento criar ou modificar um banco de dados ou tabela, ele retorna Errcode 13 , mas posso atualizar as tabelas existentes.

Além disso, o SELinux está desabilitado:

$ sudo sestatus
SELinux status:                 disabled

E o mysqld está no modo de reclamação em apparmor:

~$ sudo apparmor_status 
apparmor module is loaded.
17 profiles are loaded.
16 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/evince
   /usr/bin/evince-previewer
   /usr/bin/evince-previewer//launchpad_integration
   /usr/bin/evince-previewer//sanitized_helper
   /usr/bin/evince-thumbnailer
   /usr/bin/evince-thumbnailer//sanitized_helper
   /usr/bin/evince//launchpad_integration
   /usr/bin/evince//sanitized_helper
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/cups/backend/cups-pdf
   /usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper
   /usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper//chromium_browser
   /usr/sbin/cupsd
   /usr/sbin/tcpdump
    1 profiles are in complain mode.
   /usr/sbin/mysqld
2 processes have profiles defined.
1 processes are in enforce mode.
   /usr/sbin/cupsd (742) 
1 processes are in complain mode.
   /usr/sbin/mysqld (2475) 
0 processes are unconfined but have a profile defined.

Então, não sei onde mais devo pesquisar.

    
por Eloy 10.04.2014 / 09:44

0 respostas