一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

linux下迁移mysql数据库存放目录

时间:2013-11-28 编辑:简简单单 来源:一聚教程网

方法一:

参照windows下的方法,把/var/lib/mysql移到需要的目录,再修改/etc/my.cnf文件,指定数据目录。这方面的教程网上很多,大家可以去搜索一下。

停掉Mysql服务

在my.ini的[mysqld]里有三个设置,路径改成移动之后的路径

 代码如下 复制代码

basedir=”D:/MySQL-5.0.15b/”

datadir=”D:/MySQL-5.0.15b/data”

innodb_data_home_dir=”D:/MySQL-5.0.15b/data”

重新启动Mysql服务就好了。

这里分别对应的就是刚刚移动的那些文件夹里面对应的文件夹和文件

basedir,会影响bin目录,影响服务;

datadir,影响数据库存放路径;

其中basedir在迁移时一定要设置,否则基本会导致服务不能启动,ibdata1一般会在data文件夹的上一层。

另 外innodb的数据文件ibdata1如果没有放在默认位置,那么一定要设置,否则的话服务第一次可以启动,而且会在应该存放ibdata1的路径下新 建一个初始的ibdata1文件,看起来正常,但所有使用innodb存储引擎的数据库的数据都会丢失,而且再次重启时,有可能会无法启动,或者各种始料 不及的错误。


方法二:

使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例)
先停止mysql:

 代码如下 复制代码

/etc/init.d/mysqld stop

移动数据:

mv /var/lib/mysql/* /home/mysql/

创建软连接:

ln -s /home/mysql/ /var/lib/mysql/

启动mysql:

/etc/init.d/mysqld start


移动数据:
mv /var/lib/mysql /home/mysql
创建软连接:
ln -s /home/mysql /var/lib/mysql

这两句命令的意思是: 将 /var/lib/ 目录下的 mysql  整个移动到 /home/  目录,并保留原始目录属性
在 /var/lib/ 目录下创建个链接到 /home/mysql/ 目录的软连接 mysql 目录.

总结

在网上有很多朋友说了使用

移动数据:
mv /var/lib/mysql/* /home/mysql/
创建软连接:
ln -s /home/mysql/ /var/lib/mysql/

大家需要注意再注意啊,这个种方法不是不可行是不安全。

热门栏目