前言
mysql 修改数据库默认路径时出现服务无法启动,检查日志发现报文件权限的错误。
对于更改后的目录已经设置mysql为目录的owner啦呀!且命令行下直接启动数据库就一切正常。
祭出万能的Google ,最后在一篇老外的帖子中找到了原因——SELINUX 策略问题!
凡是后台服务都需要有对相应目录的对应权限,而 mysql 的默认路径/var/lib/mysql 已经添加了相应的策略,修改路径后由于没有相应的策略,导致后台进程读取文件被selinux阻止,从而出现权限错误!
方法如下:
m
修改数据库为多用户模式
SQL语句修改数据位多用户模式如下:
DECLARE SQL VARCHAR(MAX);
SET SQL=''
SELECT SQL=SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('数据库名称');
EXEC(SQL);
GO
ALTER DATABASE '数据库名称' SET MULTI_USER;