mysql 更改默认数据目录

http://www.cnblogs.com/chenny7/p/3642363.html

本文主要介绍在CentOS下通过yum命令安装MySQL之后,如何移动默认数据目录到指定位置。

安装mysql:

yum -y install mysql-server mysql-client

Mysql 安装之后默认的数据文件存储目录为/var/lib/mysql。

假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录

cd /home

mkdir data

2、把MySQL服务进程停掉:

service mysqld stop

3、把/var/lib/mysql 整个目录移到 /home/data

mv /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

然后再次创建一个新的空目录,并制作一个软连接到新的sock路径:

mkdir /var/lib/mysql

ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

4、vim /etc/my.cnf

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf。

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改

datadir=/home/data/mysql

socket=/home/data/mysql/mysql.sock 

5、vim /etc/init.d/mysqld

datadir=/home/data/mysql

如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;

6、vim /usr/lib64/mysql/mysql_config

socket='/home/data/mysql/mysql.sock'

ldata='/home/data/mysql'

7、重新启动MySQL服务

service mysqld start

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

另外还要注意目录的属主和权限,代码如下:

chown -R mysql:mysql /home/data/mysql/

chmod 700 /home/data/mysql/test/

chmod 660 /home/data/mysql/test/*

最后,查看日志/var/log/mysqld.log,如果发现Can't create test file /xxx/mysql/centos5.lower-test

这里是因为没有权限创建或读取文件。

解决办法就是使用setenforce 0 这个命令,让系统关闭权限校验,然后再运行命令 service mysqld start 发现OK了。

另外一个办法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysql

<div class="postDesc">posted on <span id="post-date">2016-11-27 17:37</span> <a href="https://www.cnblogs.com/adolfmc/">adolfmc</a> 阅读(<span id="post_view_count">4020</span>) 评论(<span id="post_comment_count">0</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=6106852" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(6106852);return false;">收藏</a></div>

转载至:https://www.cnblogs.com/adolfmc/p/6106852.html

(转)mysql更改数据目录的更多相关文章

  1. mysql 5.5.42 更改数据目录 centos 6.5环境

    1.新建新数据目录,检查目录属主机权限,一般情况下属于mysql组,myql用户,因为我们安装mysql的时候会新建该账户和组. 2.目录权限检查完毕,停止数据库服务. 3.移动数据目录 ,我用的是m ...

  2. MySQL更改数据库数据存储目录

    MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录.下文总结整理了实践过程的操作步骤. 1:确认MySQL数据库存储目 ...

  3. windows下MySQL更改数据库文件目录及1045,1067错误

    MySQL安装时不能选择数据库文件的安装位置, 也没有可用的直接更改数据库目录的工具,要想更改数据目录,方法如下: MySQL安装并配置完毕,默认的数据哭安装目录为 C:/ProgramData/My ...

  4. MySQL 更改数据库数据存储目录

    MySQL数据库默认的数据库文件位于 /var/lib/mysql 下,有时候由于存储规划等原因,需要更改 MySQL 数据库的数据存储目录. 下文总结整理了实践过程的操作步骤.   1 确认MySQ ...

  5. RPM安装MySQL5.7并更改数据目录

    RPM安装MySQL5.7并更改数据目录 文末附MySQL完整配置文件 官网地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 注意 ...

  6. mysql更改已有数据表的字符集,保留原有数据内容

    mysql更改已有数据表的字符集,保留原有数据内容     原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有 ...

  7. MySQL更改数据库表的存储引擎

    MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...

  8. mysql转移数据目录后无法启动问题

    最近在学习mysql,将mysql的数据目录文件路径/var/lib/mysql转移到/data/mysql,然后通过软连接方式关联. 1. ln -s /data/mysql /var/lib/my ...

  9. Mysql 更改编码方式

    Mysql 更改编码方式 --查看编码方式 show variables like 'char%'; --设置编码方式 set character_set_server=utf8;

随机推荐

  1. Go part 7 反射,反射类型对象,反射值对象

    反射 反射是指在程序运行期间对程序本身进行访问和修改的能力,(程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分,在运行程序时,程序无法获取自身的信息) 支持反射的语言可以在程序编 ...

  2. 前端编译原理 笔记 -- BISON

    前面总结的差不多了,这边记录下,零碎的相关阅读可以备忘的一些知识点 Bsion文档,下面是中文的地址  https://blog.csdn.net/chinamming/article/details ...

  3. jquery sortable的拖动方法示例详解1

    转自:https://www.jb51.net/article/45803.htm 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象 ui.helper ...

  4. Integer和int踩过的坑

    在做SSM项目时发现一个有趣的bug,在这里记录一下. 数据库表如下: 实体类:grade字段初始设定为int类型 在用mybatis对第三条数据进行修改时,希望赋值的更改,未赋值的不更改,测试运行 ...

  5. java线程中如何使用spring依赖注入

    实现一个线程继承了Thread或实现Runnable接口,想在run方法中使用spring依赖注入(操作数据库),此时报错为空指针,就是说没有注入进来. 实验了几种方式,分别说一下优缺点. 1:写了工 ...

  6. LeetCode:137. 只出现一次的数字 II

    LeetCode:137. 只出现一次的数字 II 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. ...

  7. Codeforces #503 C. Elections(贪心,逆向

    我的参考的博客地址 题目 逆向考虑. 暴力遍历 k(k是1到n/2+1 范围内的),挑出对于每一个k,记对于党派 i,num[ i ]为其票数.num[ i ]小于k-1的就不用改变投票了(这部分是比 ...

  8. 【转】oracle的 分表 详解 -----表分区

    转载:https://www.cnblogs.com/congcidaishangjiamianju/p/8045804.html 一 表空间及分区表的概念 表空间: 是一个或多个数据文件的集合,所有 ...

  9. 大数据之路week06--day03(jdk8新特性 Lambda表达式)

    为什么使用Lambda表达式?(做为初学者接触这个新的语法,会很懵逼,说道理,我在接触到这一块的时候,语法规则我看到了也很懵逼,因为这个和逻辑的关系不是很大,但就是作为一种新的语法出现,一时间很难接受 ...

  10. Python+request 使用pymysql连接数据库mysql的操作,基础篇《十一》

    笔记记录: (1)pymysql中所有的有关更新数据(insert,update,delete)的操作都需要commit,否则无法将数据提交到数据库,既然有了commit(),就一定有对应的rollb ...