用软连接改变了/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. 字符模型和Windows等价程序

    二者很明显的区别,dos和gui 字符模式模型 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]){    print ...

  2. 多重背包问题II

    多重背包问题II 总体积是m,每个小物品的体积是A[i] ,每个小物品的数量是B[i],每个小物品的价值是C[i] 求能够放入背包内的最大物品能够获得的最大价值 和上一个很类似 上一题体积就是价值,这 ...

  3. CSS布局:让页底内容永远固定在底部

    我们在设计一些页面内容甚少的网页时(典型应用就是登陆页面),由于显示器的分辨率大,在正常情况下,假如页面内容高度小于浏览器高度时,页面底部以下会留下很大的空间... 先看示例:http://www.h ...

  4. sftp的安装和使用

    http://blog.srmklive.com/2013/04/24/how-to-setup-sftp-server-ftp-over-ssh-in-ubuntu/ In my previous ...

  5. yii2 增加新的目录结构

    搭建新的目录结构详细点击这里 搭建Restful API 点击这里 1.开发环境操作系统        Windows Server 2012 R2 DatacenterPHP架构        Ap ...

  6. mysql和oracle的一个汉字占几个字符

    以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度. 今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5? 在网上找到资料:char ...

  7. swift:创建滚动视图的图片轮播器

    用swift创建图片轮播器和用OC创建的方式是一样的,都主要用到UIScrollView和UIImageview这两个控件,有几张图片,就将滚动视图的内容区域大小设置为每一张图片的大小乘以张数即可.然 ...

  8. swift:入门知识之函数与闭包

    1.swift中使用关键字func来声明和定义一个函数.调用函数使用它的名字加上小括号中的参数列表. 2.swift使用->方向符号分隔参数的名字和返回值类型 3.swift使用元组(tuple ...

  9. android sqlite 怎么写入存储时间

    字符串类型2013-12-10 12:12:12 SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd"); ...

  10. Android setStartOffset方法:设置启动时间

    [功能说明]该方法用于设置一个动画执行的启动时间,单位为毫秒.系统默认当执行start方法后立刻执行动画,当使用该方法设置后,将延迟一定的时间再启动动画. [基本语法]public void setS ...