独舞

  • 首页
  • 程序开发
    • Java
    • 容器
    • 数据库
    • Javascirpt
    • 前端
  • Linux相关
  • 路由和网络
  • 苹果相关
  • 关于
    • 简历
独舞
记录那些朝花夕拾的日子……
  1. 首页
  2. 程序开发
  3. Linux
  4. 正文

Ubuntu下更改MySQL数据库文件的目录

2016年4月15日 484点热度 0人点赞 0条评论

公司的Ubuntu服务器对于各个系统的目录是放在不同的逻辑分区上的,比如存放mysql数据库文件的默认目录/var/lib/mysql所在的系统目录/var/单独在一个分区上,但是这个分区的大小是固定的,不足以存放整个数据库文件。但是另一个系统目录/data大小却达到T级,大大满足了需求,因此有了更改数据库文件目录的需求。以下是我参考网络上一些文章进行尝试的过程:

1.停止数据库服务:

使用/etc/init.d/mysql stop 或者 stop mysql

  1. 在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下:

cd  /data

mkdir mysqldb

cp -r /var/lib/mysql  /data/mysqldb/

经过一段时间的等待后,在/data/mysqldb/下面就有了原先默认的mysql数据库文件目录的拷贝“/mysql”

3.修改my.cnf文件

vim /etc/mysql/my.cnf

将datadir = /var/lib/mysql 改为 datadir = /data/mysqldb/mysql

另外由于当前my.cnf 中的socket = /var/run/mysqld/mysqld.sock(而并非像网上所说的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令做一个mysql.sock 链接:

ln -s  /data/mysqldb/mysql/mysql.sock  /var/lib/mysql/mysql.sock (需要从/home/data/mysql下复制一份过来)

  1. 修改数据库的权限:

chown -R mysql:mysql /data/mysqldb/mysql/   ← 改变数据库文件目录的归属为mysql

chmod 700 /data/mysqldb/mysql/whois/  ← 改变数据库目录whois的属性为700

chmod 660 /data/mysqldb/mysql/whois/*  ← 改变数据库中数据表的属性为660

  1. 修改文件usr.sbin.mysqld

vim /etc/apparmor.d/usr.sbin.mysqld

把

/var/lib/mysql r,

/var/lib/mysql/** rwk,

改成

/data/mysqldb/mysql/  r,

/data/mysqldb/mysql/** rwk,

注意:没有该步骤的话,将导致数据库服务无法重启,好像在重启,但是一直卡住无反应。

6.启动mysql服务器

/etc/init.d/apparmor restart

/etc/init.d/mysql restart  (或者使用 restart mysql)

搞定!

标签: 暂无
最后更新:2021年12月10日

Phil

一直以来 我只有前进才能忘记羞辱的历史 所以 还有很多事情 需要我去做 也有很多事情 我必须要做

点赞
< 上一篇
下一篇 >
分类
  • Java / 32篇
  • Javascirpt / 1篇
  • Linux / 40篇
  • Mac / 2篇
  • 前端 / 4篇
  • 区块链 / 2篇
  • 容器 / 8篇
  • 数据库 / 1篇
  • 服务器主机 / 2篇
  • 未分类 / 12篇
  • 程序开发 / 1篇
  • 路由器 / 14篇
广告
广告

COPYRIGHT © 2021 mmgg.net. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备09207437号-5