linux上改变mysql数据文件的位置

用软连接改变了/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目录的属性:
[[email protected] 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

所以这两步必须执行。

时间: 2024-08-10 23:21:21

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

修改MySQL数据文件的位置

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

Windows 下使用mysql installer安装的MySQL数据文件存放位置datadir的修改

注意: 本贴适用于再Windows环境下使用Mysql installer安装的mysql数据库的配置修改 1.查看数据存储位置 mysql>show global variables like "%datadir%"; 从这里可以看出数据存放位置:C:\ProgramData\MySQL\MySQL Server 8.0\Data ,配置文件就在C:\ProgramData\MySQL\MySQL Server 8.0目录下,以下是另外的查找方法. 2.查看配置文件所在位置 找

Linux上检查MySQL数据表的存储引擎类型三板斧

MySQl主要使用两种存储引擎:MyISAM 和 Innodb.MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback).当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎).如果没有选择,你就会使用与预设置的默认引擎. 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到. 方法一 如果你可以访问phpMyAdmin,你可以从phpMyAdmin找出默认的数据库类型.从phpMyAdmin中选中数据

Linux Centos 迁移Mysql 数据位置

Linux Centos 迁移Mysql 数据位置 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like '%dir%'; datadir 就是数据路径 转移操作 新建 mysql 数据目录 mkdir /data/mysqlData 停止mysql服务 service m

linux上的mysql报Table 'xxx' doesn't exist的错误解决方法

linux上的mysql报Table 'xxx' doesn't exist的错误解决方法 问题:程序报Table 'xxx' doesn't exist 的错误,但是查看数据库发现该表已经存在且字母也没有拼错. 原因:linux 上的mysql 默认是区分大小写导致的. 解决:改动mysql的配置文件,在my.cnf中的[mysqld]下面(位置不能错)加上lower_case_table_name=1这句(1表示不区分大小写,0区分大小写),保存重新启动mysql. 没有my.cnf文件,如

修改百度导航的配置文件,改变地图数据的存贮位置以解决空间不够的问题

我的红米手机,我已经把内外存储交换了位置,sdcard0是我的32G存储卡,sdcard1是手机自动的sd卡,只有900多M,安装百度导航后,下载离线数据包的时候不小心在软件提示存储数据的位置时选成了内存储,结果只能下载全国基础包,想继续下载别的数据,提示空间不够. 我首先想到的是用RE把内置存储上的baidunavi目录移动到了SD卡上,结果没有作用,进入百度导航后,只是离线数据丢失了,再次下载数据,百度导航又在原位置创建了新的目录! 看来百度导航存储了保存位置的信息,于是仍然祭起神奇RE,找

在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm

在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大家可以根据自己的操作系统去下载对应的数据库文件,目前最新的版本是5.6.10了. 在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务.jar包都给我们安装好,所以省去了很多不必要的麻烦!!! http://www.baobao18.com/De

怎样在 Ubuntu Linux 上安装 MySQL

本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典型的数据库管理系统.它被用于许多技术栈中,包括流行的 LAMP (Linux.Apache.MySQL.PHP)技术栈.它已经被证实了其稳定性.另一个让 MySQL 受欢迎的原因是它是开源的. MySQL 是关系型数据库(基本上是表格数据).以这种方式它很容易去存储.组织和访问数据.它使用SQL(结

Windows和Linux上 安装MySQL

Windows 上安装 MySQL https://www.mysql.com/downloads/ 1.下载MySQL安装包(官网下载链接): 选择 DOWNLOADS ——> Community(社区版,免费) ——> MySQL on Windows ——> MySQL Installer ——> 选择相应安装包——> 不用注册.登录,直接点击左下方:No thanks,just start my download,即可下载. (不用考虑操作系统位数,因为:Note: