服务器版本:5.6.40 MySQL社区服务器(GPL)
CentOS版本6.5(最终版)x64
我的/ var挂载率为99%,因此要将mysql从/ var / lib / mysql移至/ home / mysql。
研究之后,请执行以下步骤(将其引导至root之后):
更新/etc/my.cnf
[mysqld]
datadir = / home / mysql
套接字= / home / mysql / mysql.sock
[客户]
套接字= / home / mysql / mysql.sock
用户= MySQL
max_allowed_packet = 256M
[mysqld_safe]
日志错误= / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid
mv / var / lib / mysql /var/lib/mysql.bak
尝试启动mysql备份会给出错误代码
01:36:54 mysqld_safe UNIX套接字文件的目录'/ home / mysql'不存在。 MySQL守护程序无法启动。
但是/ home / mysql确实存在
[root @ mail home] #ls -ls
总计2248
8 drwx ------ 3滥用滥用4096 Sep 11 2014滥用
8个drwxrwxrwx。 5 vuser vuser 4096 Sep 1 04:09附件
8 drwx ------ 3信息信息4096 2014年9月10日信息
20 drwx ------ 2 root root 16384 2014年8月21日lost + found
8个drwxr-xr-x。 6 mysql mysql 4096 Sep 4 01:34 mysql
2156 -rw-r -----。 1个mysql mysql 2196563 Sep 4 01:35 mysqld.log
8 drwx ------ 3支持支持4096 2014年9月9日支持
在其他stackoverflow帖子中投票最多的答案是创建缺少的目录并对其进行chown。但这不适用于这里,因为您可以看到它已经存在。
我也尝试了符号链接方法(因此无需编辑my.cnf),但在尝试启动mysql后得到错误消息:
02:27:12 mysqld_safe错误:日志错误设置为“ /var/log/mysqld.log”,但是文件不存在。为用户“ mysql”创建可写。 / usr / bin / mysqld_safe:第138行:/var/log/mysqld.log:权限被拒绝
但是同样,/var/log/mysqld.log存在。在每次尝试中,mysqld.log文件中均未引用任何错误。我认为因为mysqld永远不会启动。
作为参考,这是起作用的原始my.cnf:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
max_allowed_packet = 256M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
有人有什么想法吗?