MySQL默认数据库存放路径修改方法

前端之家收集整理的这篇文章主要介绍了MySQL默认数据库存放路径修改方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

修改MysqL默认数据库存放路径,有需要的朋友可以参考下。

Windows系统:

MysqL装在了C:\Program Files\MysqL\MysqL Server 5.0,默认的数据库文件是放在C:\Program Files\MysqL\MysqL Server 5.0\data下。

但现在在D盘下做项目,因此一个数据库就放在了D盘,路经是这样的:D:\eclipse\workspace\pro1\lib\db。

找到了my.ini的配置文件中的:

datadir="C:/Program Files/MysqL/MysqL Server 5.0/Data/"

将其修改成:

datadir="D:/eclipse/workspace /pro1/lib/db/"

BUT我重启的时候,MysqL服务启动不了了。而且用MysqL-Front连接的时候提示: 主机127.0.0.1找不到。

答:

使用符号链接吧,下面是MysqL 5.0手册上的例子。

Suppose that the MysqL data directory is C:\MysqL\data and you want to have database foo located at D:\data\foo. Set up a symlink using this procedure
Make sure that the D:\data\foo directory exists by creating it if necessary. If you already have a database directory named foo in the data directory,you should move it
to D:\data. Otherwise,the symbolic link will be ineffective. To avoid problems,make sure that the server is not running when you move the database directory.
Create a text file C:\MysqL\data\foo.sym that contains the pathname D:\data\foo\.
After this,all tables created in the database foo are created in D:\data\foo. Note that the symbolic link is not used if a directory with the same name as the database exists
in the MysqL data directory.

假设你的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.f2er.com/mysql/530271.html

猜你在找的MySQL相关文章