mysql数据库默认存放位置修改

本文详细介绍在Windows和Linux环境下,如何安全地将MySQL数据库的位置从默认目录迁移到自定义目录,包括停止服务、移动数据文件、修改配置文件及启动脚本等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

windows: 

 方式一 使用符号连接

假设你的mysql安装在c:\mysql,数据目录就是c:\mysql\data
现在你想在D 盘建立一个名为foo的数据库,路径为d:\data\foo. 
首先:保证d:\data\foo目录存在,如果没有就创建或 者你c:\mysql\data下面有,就把它剪切过来,当然在停止mysql的情况下作移动,否则是不起任何作用的。 再次:在c:\mysql\data目录下建立一个文本文件命名为foo.sym,文件名与数据库名相同,后缀名为sym,里面的内容为:D:\data \foo\,就是foo数据库的绝对路径。

 

 

 

 

 

 linux

 linux下,MySQL默认的数据文档存储目录为/var/lib/mysql。假如要把MySQL目录移到/home/data下需要进行下面几步:

 1、home目录下建立data目录

cd /home
mkdir data

 


2、把MySQL服务进程停掉:

mysqladmin -u root -p shutdown

 


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

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

 

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

4、找到my.cnf配置文档
  假如/etc/目录下没有my.cnf配置文档,请到/usr/share/mysql/下找到*.cnf文档,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

 

 

5、编辑MySQL的配置文档/etc/my.cnf
  为确保MySQL能够正常工作,需要指明mysql.sock文档的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi  my.cnf    (用vi工具编辑my.cnf文档,找到下列数据修改之)
# The MySQL server
[mysqld]
port   = 3306
#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket  = /home/data/mysql/mysql.sock   (加上此行)

 

 

6、修改MySQL启动脚本/etc/init.d/mysql
  最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成您现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql
#datadir=/var/lib/mysql    (注释此行)
datadir=/home/data/mysql   (加上此行)

 

  如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;
  最后 做一个mysql.sock 链接:

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

 


7、重新启动MySQL服务

/etc/init.d/mysql start

 

 

或用reboot命令重启Linux
假如工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。
复制内容到剪贴板 
代码:

[root@sample ~]# chown -R mysql:mysql /home/data/mysql/  ← 改变数据库的归属为mysql
[root@sample ~]# chmod 700 /home/data/mysql/test/  ← 改变数据库目录属性为700
[root@sample ~]# chmod 660 /home/data/mysql/test/*  ← 改变数据库中数据的属性为660

 

转载于:https://www.cnblogs.com/hwaggLee/p/4778324.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值