试图在这里设置新的服务器,但不断得到这个错误日志:
mysqld_safe Starting mysqld daemon with databases from /data/mysql/myisam [Warning] Can't create test file /data/mysql/myisam/hostname.lower-test [Warning] Can't create test file /data/mysql/myisam/hostname.lower-test [Note] Flashcache bypass: disabled [Note] Flashcache setup error is : setmntent failed /usr/sbin/mysqld: File '/var/mysql/bin/bin-log.index' not found (Errcode: 13) [ERROR] Aborting [Note] /usr/sbin/mysqld: Shutdown complete mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
/data/mysql (它是ibdata和myisam文件夹)下的所有内容都属于我的mysql:mysql,并具有适当的权限
在/var/mysql下有与bin和中继日志的文件夹也是一样的
apparmor从服务器清除
有任何想法吗?
PS
似乎除了apparmor之外的其他东西正在影响访问mysql文件的权限
之后,我改变了数据目录更多的默认一个 – / var / lib / mysql和“无法创buildtesting文件”错误消失了,但''/var/mysql/bin/bin-log.index'未find(错误代码: 13)“还在那里
PPS
所以我安装了apparmor,并将所有文件夹添加到mysqld的configuration文件,上面提到的错误现在已经不存在了(或者mysql现在甚至没有到这一点)
我现在所拥有的是:/ usr / sbin / mysqld:加载共享库时出错:libpthread.so.0:无法打开共享目标文件:没有这样的文件或目录
把我的头撞在墙上。
这个问题现在有点老了,但是如果其他人遇到这个页面(就像我做的那样),下面是让我工作的东西:
就我而言,答案是肯定的。
解决scheme:编辑文件/etc/apparmor.d/usr.sbin.mysqld
添加以下行:
/path/to/new/data/ r, /path/to/new/data/** rwk, /path/to/new/logs/ r, /path/to/new/logs/ rw,
然后重新启动apparmor:
sudo /etc/init.d/apparmor restart
AppArmor阻止了mysql访问这些文件的新位置。 这就是为什么这些权限都是正确的。 “某些东西”阻止mysql访问新的位置是正确的。 那个“东西”是“apparmor”:-)
Apparmor似乎是Ubuntu 11.10的标准,这是我遇到这个问题的地方。 10.04似乎没有默认安装Apparmor。
希望这可以帮助别人,我一直在这个头发上扯了太多时间!
如果这是全新安装,则需要运行mysql_install_db脚本来创build所需的表/文件。
这是一个全新的安装?
bin-log.index是二进制日志文件名的索引文件。 作为临时解决方法,您可以在my.cnf注释log-bin=行,然后重试。
如果没有帮助,尝试使用mysqld_safe --user=root &来启动MySQL,login到MySQL并运行以下命令:
mysql> FLUSH LOGS; mysql> RESET MASTER;
然后再次启动MySQL:
sudo killall mysqld_safe sudo /etc/init.d/mysqld start