我正在使用 encfs 对数据目录进行编码/var/lib/mysql
,但 mysqlErrcode: 13
在任何创建表或数据库的尝试时都会返回。
为此,我将所有文件移动到临时目录,创建了 encfs 并将临时内容移动到新挂载的 fs。
另外,我还有一些脚本可以停止 apache 和 mysql,挂载目录(我也进行了编码/var/www
,没有任何问题),然后重新启动它们。
/var/lib/mysql
并且所有文件和子目录都属于用户和组mysql
,具有写入和读取权限:
$ 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
并检查守护进程是否运行为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
奇怪的是,服务运行,mysql 能够读取所有文件(它可以毫无问题地显示以前创建的数据库和表)。但是,当我尝试创建或修改数据库或表时,它会返回Errcode 13
,但我可以更新现有表。
此外,SELinux 已被禁用:
$ sudo sestatus
SELinux status: disabled
并且 mysqld 在 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.
所以,我不知道还应该在哪里搜索。