如何更改MySQL数据库的默认目录位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改MySQL数据库的默认目录位置相关的知识,希望对你有一定的参考价值。

1.停止数据库服务:
  使用/etc/init.d/mysql
stop
或者
stop
mysql
  2.
在目标位置(/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下复制一份过来)
  4.
修改数据库的权限:
  #
chown
-r
mysql:mysql
/data/mysqldb/mysql/ 

改变数据库文件目录的归属为mysql
  #
chmod
700
/data/mysqldb/mysql/whois/ 

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

改变数据库中数据表的属性为660
  5.
修改文件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)
参考技术A 在配置文件中
【mysqld】选项下面更改两个配置参数,分别是:
basedir=你的mysql目录路径
datadir=你的mysql 数据目录路径本回答被提问者和网友采纳

修改默认MYSQL数据库data存放位置

随着业务量的增长,mysql默认安装所在分区大小出现瓶颈,通常需要将datadir换到较大的分区

示例原目录:/usr/local/mysql/data/
示例新目录:/data/mysqldata/

1,停止mysqld服务
/sbin/service mysqld stop

2,复制数据库到新目录
cp -R /usr/local/mysql/data/* /data/mysqldata/

3,赋于mysql目录权限
chown -R mysql:mysql /data/mysqldata/

4,修改mysql配置文件
vim /etc/my.cnf
#datadir = /usr/local/mysql/data/
datadir = /data/mysqldata/

5,启动mysqld服务
/sbin/service mysqld start

用ps -ef |grep mysql 命令查看mysql进程
--datadir已经是新目录了

以上是关于如何更改MySQL数据库的默认目录位置的主要内容,如果未能解决你的问题,请参考以下文章

如何更改mysql数据存放路径

如何更改 MySQL 数据目录?

如何更改mysql的并发数(最大连接数)

如何修改mysql数据文件存储位置

linux mysql 安装源码包时啥参数指定数据库目录位置,rpm 包 安装后如何更改数据库目录位置

如何查看和更改mysql数据库文件存放位置