Linux 中文件和文件夹获取 MySQL 权限(SELinux)

2014-11-24 18:26:31 · 作者: · 浏览: 0

今天在 Linux 系统上移动 MySQL 的数据库目录


配置如下:


/etc/my.cnf


[mysqld]
datadir=/home/mysql
socket=/var/lib/mysql/mysql.sock


更改完配置文件重启MYSQL的时候出现的以下问题


110222 11:15:07 mysqld_safe Starting mysqld daemon with databases from /home/mysql
110222 11:15:07 [Warning] Can't create test file /home/mysql/localhost.lower-test
110222 11:15:07 [Warning] Can't create test file /home/mysql/localhost.lower-test
/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110222 11:15:07 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110222 11:15:07 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: 'open'.
InnoDB: Cannot continue operation.
110222 11:15:07 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended


当初以为只是文件或文件夹权限问题,把所有对应的目录和文件的权限改成读写状态...还是没用...


在网上找了一会儿,找到解决方法了~


解决方法如下:


#在终端中先输入下面这一行


chown -R mysql:mysql /home/data/mysql
#在输入下面的一行就OK了


chcon -R -t mysqld_db_t /home/mysql


#重启下MYSQL试试~


/etc/init.d/mysqld restart