使用yum默认安装的路径:/var/lib/mysql 
现在自定义的其它目录:/opt/programfile/mysql56/mysql3306
新建自定义目录
#mkdir -p /opt/programfile/mysql56/mysql3306
移动mysq默认目录下所有数据到指定目录(备注不能用copy,因为使用copy原目录下的权限可能发生改变)
#mv /var/lib/mysql   /opt/programfile/mysql56/mysql3306
启动mysql
#systemctl start mysqld.service
查看mysql是否运行
#systemctl status mysqld.service

通过yum方式安装mysql默认安装后,修改data目录就无法启动_第1张图片

查看错误日志信息
#sudo journalctl -xe
提示错误:SELinux is preventing ......

通过yum方式安装mysql默认安装后,修改data目录就无法启动_第2张图片

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

解决方法1 :根据上图提示使用semanage命令
1.使用递归传递【(/*)?】
[cqs@centos7 ~]$ sudo semanage fcontext -a -t mysqld_db_t '/opt/programfile/mysql56/mysql3306(/.*)?'
2.使用递归传递【-R】
[cqs@centos7 ~]$ sudo restorecon -R -v '/opt/programfile/mysql56/mysql3306'

解决方法2:使用chcon 命令递归【-R】
[cqs@centos7 ~]$ sudo  -R -t  mysqld_db_t '/opt/programfile/mysql56/mysql3306'
    chcon 命令:修改对象(文件)的安全上下文(如:用户:角色:类型:安全级别)。
    格式:Chcon [OPTIONS…] CONTEXT FILES…..
       -R              递归地修改对象的安全上下文
       -t TYPE     修改安全上下文类型的配置

    最后重新启动电脑
    # reboot
    结果如下所示:success

通过yum方式安装mysql默认安装后,修改data目录就无法启动_第3张图片