mysql 数据库在修改数据库默认路径的问题

mysql 修改数据库默认路径时出现服务无法启动,检查日志发现报文件权限的错误。

对于更改后的目录已经设置mysql为目录的owner啦呀!且命令行下直接启动数据库就一切正常。

祭出万能的Google ,最后在一篇老外的帖子中找到了原因——SELINUX 策略问题!


凡是后台服务都需要有对相应目录的对应权限,而 mysql 的默认路径/var/lib/mysql 已经添加了相应的策略,修改路径后由于没有相应的策略,导致后台进程读取文件被selinux阻止,从而出现权限错误!

mysql,方法为:
chcon -R -t mysqld_db_t  /db/mysql


如果是APACHE,方法为:

# chcon -R -h -t httpd_sys_content_t /www/web/


附chcon 命令帮助
chcon 命令:修改对象(文件)的安全上下文(如:用户:角色:类型:安全级别)。
命令格式:
   Chcon [OPTIONS…] CONTEXT FILES…..
   Chcon [OPTIONS…] –reference=PEF_FILES FILES
说明:
    CONTEXT 为要设置的安全上下文
    FILES 对象(文件)
    --reference 参照对象
    PEF_FILES 参照文件上下文
    FILES      应用参照文件上下文为我的上下文。
    OPTIONS 如下:
        -f                强迫执行
        -R              递归地修改对象的安全上下文
        -r ROLE    修改安全上下文角色的配置
        -t TYPE     修改安全上下文类型的配置
        -u USER   修改安全上下文用户的配置
        -v                显示冗长的信息
        -l, --range=RANGE    修改安全上下文中的安全级别
mysql,方法为:
chcon -R -t mysqld_db_t  /db/mysql

没有更多推荐了,返回首页