目前我遇到了一个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”文件夹。另外,我将所有者ans用户更改为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
执行init命令: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)Threre没有僵尸进程。
3)对于mysql文件夹及其中的文件,所有者和用户都设置为“mysql”。
4)清除datadir中的所有内容。 =>使用相同的消息失败。
尝试和错误:
1)将名称“/ var / lib / mysql”文件夹更改为“/ var / lib / mysql_”,并创建一个软链接(在路径中使用与成功文件夹相同的软链接):
lpwxrwxrwx 1 mysql mysql 12月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.
我真的不知道这个问题,这让我感到困惑,我找不到任何解决方法。 有人可以帮助我吗?
非常感谢!
答案 0 :(得分:1)
请检查您的服务器配置文件。我发现" symbolic-links = 0"在我的/etc/my.cnf中添加了一个"#"在那条线前:
[mysqld]
# Disabling symbolic-links is recommended to prevent assorted security risks; to do so, uncomment this line:
#symbolic-links = 0
答案 1 :(得分:-1)
如果其他人发现此问题,请更改my.cnf中的datadir设置,而不是创建MySQL数据目录的符号链接
使它像:
datadir = /some/other/drive/mysql
实际上,只是更改my.cnf中的datadir不起作用。 我不得不在这个文件中更改数据目录:/etc/apparmor.d/usr.sbin.mysqld
然后:
/etc/init.d/apparmor reload