Percona启动失败:mysql无法访问创build文件的目录

我发现了一些类似问题的问题和build议,不幸的是,似乎没有任何工作,所以请原谅,如果这是双重的(并指向正确的来源)…

服务器是Fedora Beefy Miracle,安装percona mysql服务器。 我不太了解安装情况,初次安装后我就来了很久。 现在数据库服务不起作用。

Percona启动:

# service percona start Starting MySQL (Percona Server). ERROR! The server quit without updating PID file (/home/percona/data/example.domain.pid). 

MySQLconfiguration:

在/ home / percona(指向percona安装目录)中有相当详细的my.cnf指向/ home / percona / data处的datadir。 在/ etc / config中有:

 # cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql (...) [mysqld_safe] log-error=/var/log/mysqld.log 

我不知道这个configuration是否正在使用,以及如何调用mysql:我是新来的Percona和设置是由别人完成的。 但是,每个Percona服务(尝试)都会更新日志文件,并出现以下错误:

 # tail /var/log/mysqld.log 140814 0:55:18 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'create'. InnoDB: Cannot continue operation. 

这个错误似乎很普遍,虽然Google的讨论通常提到“开放”模式而不是“创build”。 另外,我不知道应该在什么目录下创build文件。 这个名字的文件存在于/ var / lib / mysql /和/ home / percona / data /

检查和尝试到目前为止:

  • 将/ home / percona的所有者设置为percona:mysql,mysql:mysql并返回正常的percona:percona;
  • 设置recursion的/ var / lib / mysql的所有者到mysql:percona,percona:percona并且回到正常mysql:mysql; 这两个用户都存在于系统中。
  • 两个目录中现有的ibdata1文件的权限都是660
  • 尝试设置两个目录中的ib *文件的权限,并将其目录本身暂时设置为777(以检查哪个用户将访问/修改/创build文件 – 什么都没有发生,没有任何改变;
  • build议某处'mysql_upgrade'产量:

     # mysql_upgrade Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck FATAL ERROR: Upgrade failed 

    (从控制台运行mysqlcheck显示一些输出,没有错误指示)。

  • 我害怕运行mysql_install_db,因为我不确定在这个过程中会丢失或覆盖哪些内容 – 以前在机器上运行的数据库,我确信我完全不了解configuration。

接下来我应该尝试什么,或者我错过了什么?

这听起来像是在你的path中的东西是不正确的。 你发现大部分关于“开放”的post是因为大部分时间都是权限问题,但path是正确的。 当你看到关于“创build”的错误,这是因为(通常)my.conf告诉服务find文件的path包含它们。

find这些:

 nnodb_data_home_dir = innodb_log_group_home_dir = innodb_log_arch_dir = 

然后validation提供的path是否正确。 我最好的猜测是,他们不是。 如果这是问题,在修复之后,您可以运行任何开放权限问题:

 chown -R mysql:mysql /path/to/data