使用innodb_data_file_path修改数据文件位置,发生The server quit without updating PID file错误的解决原因及方法。

近日,给CentOS下的MySQL配置数据文件位置,但是每次指定到非MySQL默认安装目录的时候,就无法启动,并且报“The server quit without updating PID file”错误。仔细检查,是权限错误,包括a. MySQL对新建的文件夹是没有访问权限;b. SELinux的权限没有放开。

另外,有的时候ibdata1大小发生变化或者ib_logfile*(默认是ib_logfile0、ib_logfile1两个文件)没有删除也会出现类似的错误,如果修改权限以后还出现错误, 请删除ibdata1、ib_logfile*文件(默认情况下数据都存储在ibdata1文件中,因此删除前请备份系统数据。

下面是修改数据文件位置的详细方法:

1. 关闭MySQL

service mysql stop
2. 创建数据文件夹

注意,MySQL自己不会创建数据文件夹,所以如果文件夹不存在,则必须手动创建。

mkdir /home/test

3. 给新文件及赋予mysql用户权限

chown -R mysql:mysql /home/test/

4. 配置SELinux

chcon -R -t mysqld_db_t /home/test/

5. 修改my.cnf

在[mysqld]节点下加入以下两行。注意,如果innodb_data_file_path要写成绝对路径,则innodb_data_home_dir要留空,否则都是相对innodb_data_home_dir的相对路径。

innodb_data_home_dir =
innodb_data_file_path=/var/lib/mysql/ibdata1:18M;/home/test5/ibdata2:10M:autoextend

6. 启动mysql

service mysql start

附:如果是Windows平台,则简单得多,不需要授权,修改配置文件即可。Windows平台的路径要包含在英文双引号中,如下

innodb_data_home_dir =
innodb_data_file_path="c:/ibdata1:10M;d:/ibdata2:10M:autoextend"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章