【发布时间】:2014-05-06 06:14:02
【问题描述】:
目前我遇到了一个 mysql 启动问题,不知道这里发生了什么。 如果datadir设置在/var/lib/mysql,然后启动mysql:
sudo /etc/init.d/mysql start
正在启动 MySQL...成功。 并且 mysql 可以正常工作。
但是由于设备空间的原因,我需要将datadir更改为另一个分区。 它会显示:
[admin@shwzu lib]$ sudo /etc/init.d/mysql start
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/datadir/shwzu.pid).
我只是尝试了有关它的所有信息,这是有关设置的详细信息:
=> 1. 如果文件夹在/var/lib/mysql,一切正常:
drwxrwxrwx 6 mysql mysql 4096 Mar 27 06:03 mysql
=> 2. 将目标文件夹更改为另一个名为“test”的分区。并创建“mysql”文件夹。另外,我将所有者和用户更改为 mysql。 然后创建一个软链接。 (sudo ln -s /test/mysql /var/lib/mysql)
/test 分区的权限:(在 /test 中)
[admin@shwzu /]$ ls -l
drwxrwxrwx 7 root root 4096 Mar 27 06:27 test
/test/mysql 文件夹的权限:
drwxr-xr-x 6 mysql mysql 4096 Mar 27 06:24 mysql
/test/mysql 文件夹内的权限:
drwxr-xr-x 5 mysql mysql 4096 Mar 27 06:24 datadir
drwxr-xr-x 2 mysql mysql 4096 Mar 27 06:24 ibdatadir
drwxr-xr-x 2 mysql mysql 4096 Mar 27 06:24 log
-rwxr-xr-x 1 mysql mysql 158 Mar 27 06:24 RPM_UPGRADE_MARKER
-rw-r----- 1 mysql mysql 2562 Mar 27 06:24 slow_queries.log
drwxr-xr-x 2 mysql mysql 4096 Mar 27 06:24 tmp
-rw-r----- 1 mysql mysql 2031 Mar 27 06:24 shwzu.err
软链接权限:(在 /var/lib/mysql 中)
lrwxrwxrwx 1 mysql mysql 12 Mar 26 10:34 mysql -> /test/mysql
执行初始化命令:sudo mysql_install_db。而且效果很好。
- 错误信息:
[admin@shwzu lib]$ sudo /etc/init.d/mysql start 启动 MySQL。错误!服务器退出但不更新PID文件
(/var/lib/mysql/datadir/shwzu.pid).
并且 /test/mysql/datadir 中的 shwzu.err 文件会显示:
140327 09:56:24 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql/datadir
140327 09:56:24 mysqld_safe mysqld from pid file /var/lib/mysql/datadir/shwzu.pid ended
==> 好奇怪!这里没有其他信息,只有两行!!!!!!
-
复核:
1) 没有mysql进程。
2) 没有僵尸进程。
3) mysql文件夹和其中的文件的所有者和用户设置为“mysql”。
4) 清理datadir中的所有内容。 => 失败并显示相同的消息。
-
试错:
1) 将“/var/lib/mysql”文件夹改名为“/var/lib/mysql_”,并创建软链接(使用与success文件夹相同路径的软链接):
lrwxrwxrwx 1 mysql mysql 12 Mar 26 10:38 mysql -> mysql_
[Result]: Failed with the same message.2)修改/etc/my.cnf到目标文件夹“/test/mysql”,而不是使用软链接:
[Result]: Failed with the same message.3)将成功文件夹“/var/lib/mysql”复制到“/test/mysql”并创建软链接:
[Result]: Failed with the same message.
我真的不知道这个问题,这让我很困惑,我没有找到任何解决方法。 有人可以帮我吗?
非常感谢!
【问题讨论】:
-
/test文件夹本身的权限和所有权是什么?在/test/mysql上(不是里面的文件)? -
感谢您的回复。这是权限: [av_admin@shwzu /]$ ls -l drwxrwxrwx 7 root root 4096 Mar 27 06:27 test(我过滤了不用于mysql的其他分区)[av_admin@shwzu test]$ ls -l drwxr-xr -x 6 mysql mysql 4096 Mar 27 06:24 mysql drwxrwxrwx 5 root root 4096 Mar 25 10:44 mysql-cluster 非常感谢。
-
您能否将其添加到您的问题中以获得更清晰的信息,这种方式很难阅读。您需要确保 datadir 归 mysql 所有(我想
/test/mysql目录本身和所有子目录。 -
亲爱的卡西波维奇,请修改我的问题。非常感谢您的提醒。