用软连接改变了/var/lib/mysql的位置,并设置好mysql.mysql的权限,但是发现还是不能启动。

发现/var/log/mysqld.log

150308 16:16:02 [Warning] Can't create test file /var/lib/mysql/Gadget.lower-test

150308 16:16:02 [Warning] Can't create test file /var/lib/mysql/Gadget.lower-test
/usr/libexec/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)

想了想应该还是某种权限问题,经过查帖子发现

chcon  -t var_lib_t /home
chcon -R -t mysqld_db_t /home/mysql

原因是

看最初的时候/var/lib/mysql目录的属性:
[root@centos6 mysql]# ls -alZ
drwxr-xr-x. mysql mysql system_ubject_r:mysqld_db_t:s0 .
drwxr-xr-x. root  root  system_ubject_r:var_lib_t:s0   ..
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 centos6-relay-bin.000001
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 centos6-relay-bin.000002
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 centos6-relay-bin.index
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 ibdata1
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 ib_logfile0
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 ib_logfile1
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 master.info
drwx------. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 mysql
-rw-rw----. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 mysqld-relay-bin.000001
-rw-rw----. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 mysqld-relay-bin.index
srwxrwxrwx. mysql mysql unconfined_u:object_r:mysqld_var_run_t:s0 mysql.sock
-rw-rw----. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 relay-log.info
drwx------. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 test

发现/var/lib的selinux属性是var_lib_t
/var/lib/mysql以下所有文件的selinux属性是mysqld_db_t

所以这两步必须执行。

linux上改变mysql数据文件的位置的更多相关文章

  1. 修改MySQL数据文件的位置

    1:查看MySQL服务名称 2:管理员启动控制台 3:修改配置文件my.ini中数据文件的位置,[注]修改完成之后要把响应的数据文件从旧目录拷贝到新目录当中. 4:重新启动服务 5:登录数据库查看数据 ...

  2. Linux Centos 迁移Mysql 数据位置

    Linux Centos 迁移Mysql 数据位置 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysq ...

  3. windows下更换MySql数据库数据文件夹位置

    详细解决地址 ,感谢博主  :https://blog.csdn.net/u010953266/article/details/56499361 概述 由于更换硬盘,系统重新安装了一遍,原来的mysq ...

  4. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  5. 转】[MySQL优化]为MySQL数据文件ibdata1瘦身

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/2/ 感谢! [MySQL优化]为MySQL数据文件ibda ...

  6. 【数据库开发】在Windows上和Linux上配置MySQL的过程

    [数据库开发]在Windows上和Linux上配置MySQL的过程 标签(空格分隔): [编程开发] 首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错 ...

  7. linux上安装 mysql

    一.linux 上安装 mysql 1.查看mysql是否安装 rpm -qa|grep mysql 2.卸载 mysql yum remove mysql mysql-server mysql-li ...

  8. sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法

    sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法 1.报错误号码2013,可能是端口号不是默认的3306,需要改成对应的,检查命令是: [root@host et ...

  9. Linux上通过MySQL命令访问MySQL数据库时常见问题汇总

    Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...

随机推荐

  1. $q -- AngularJS中的服务

    此 承诺/延迟(promise/deferred)实现 的灵感来自于 Kris Kowal's QCommonJS Promise建议文档 将承诺(promise) 作为和 异步执行操作(action ...

  2. (转载) .NET2.0程序集无法在.net 4.0 中运行的解决方案

    首先在MSDN上看到 4.0 的更新日志中有如下这条: .NET Framework 4 不能自动使用自己的公共语言运行时版本来运行由 .NET Framework 早期版本生成的应用程序. 若要使用 ...

  3. SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-004-使用NamedParameterJdbcTemplate

    为了使查询数据库时,可以使用命名参数,则要用NamedParameterJdbcTemplate 1.Java文件配置 @Bean public NamedParameterJdbcTemplate ...

  4. Qt之QSpacerItem(控件之间的间距不尽相同,可以借助QSpacerItem来设置,并且还可以对QSpacerItem设置QSizePolicy)

    http://blog.csdn.net/u011012932/article/details/51614868

  5. JavaWeb笔记——注册登录系统项目思路

    功能:   > 注册   > 登录 --------------------------------- JSP:   * login.jsp  --> 登录表单   * regist ...

  6. idea新建maven项目时,mvn archetype:generate 速度缓慢

    原文 idea新建maven项目时,mvn archetype:generate 速度缓慢 1 现象: 用IDEA新建maven项目,填写完各种参数,创建时,控制台卡在“[INFO] Generati ...

  7. Java:异常的处理

    异常分两种大的异常类型,运行时异常和受检查异常. 用户既可以使用系统的异常类来处理异常信息,也可以创建系统的异常类的子类来自定义异常,这种方式比较灵活,虚拟机可以报出自己设置的异常信息,清楚明白. 1 ...

  8. TCP三次握手和四次挥手过程及套接字在各个过程中的状态解析

    说起TCP,我们一般都需要知道发起一个tcp连接和终止一个tcp连接是所发生的事情,下边,我将跟大家介绍下tcp的三次握手及四次挥手的过程. TCP三路握手 (1)服务器必须准备好接受外来的连接.这通 ...

  9. kafka安装及常用命令

    kafka是一个开源的分布式消息队列 他提供可靠的集群容错机制,并保证故障切换时的数据完整性. 无论从性能.可靠性.易用性都强过ActiveMQ(client的API感觉还是不如ActiveMQ好用, ...

  10. python操作json

    概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态 ...