日期:2014-05-16  浏览次数:20936 次

Ubuntu_Mysql_移动数据存储位置_软连接失败_软连接var目录失败

?

linux系统对权限的控制很好,但也成为各种问题的多发地,毕竟大家pc用习惯了,诸如访问权限等的很多安全问题根本不在考虑范围。

?

目的:把我的ubuntu中存放mysql数据的地方换个磁盘,因为满了,或者担心现在测试数据太多

?

方法1:把整个/var目录切换如新的磁盘

? ? 失败。见这里的分析:Ubuntu下移动/var目录到单独分区后出现的一些问题

?

方法2:把/var/lib/mysql用软连接目录切换到/home/fantaxy下

? ? 失败。原因应该是权限问题。

? ? mysql对权限做了限制,必须是mysql:mysql。如果移动到这个目录下,因为上层的目录权限是fantaxy:fantaxy,这会造成mysql用户首先不能通过这个目录。

?

方法3:直接把/var/lib/mysql目录copy到了另一个磁盘的根目录下

? ? 成功。原因:屏蔽了上面说的linux自己的问题,和用户权限的问题。

?

----------------------/var/lib/mysql这个mysql默认的数据存放位置下的文件---------------------

如果没有修改权限,这个目录可能看不见,或者cd命令进不去

?drwx------ ?2 mysql mysql ? ? ?4096 Aug ?4 ?2012 blog/

drwx------ ?2 mysql mysql ? ? ?4096 Aug ?6 ?2012 blog_test/

drwx------ ?2 mysql mysql ? ? 36864 May ?6 16:05 db_book_author/

-rw-r--r-- ?1 root ?root ? ? ? ? ?0 Jul 24 ?2012 debian-5.5.flag

drwx------ ?2 mysql mysql ? ? ?4096 Jan ?5 14:20 hello_rails_development/

drwx------ ?2 mysql mysql ? ? ?4096 Jul 31 ?2012 hello_rails_test/

-rw-rw---- ?1 mysql mysql 136314880 Jun 10 17:58 ibdata1

-rw-rw---- ?1 mysql mysql ? 5242880 Jun 10 17:58 ib_logfile0

-rw-rw---- ?1 mysql mysql ? 5242880 Jun ?9 23:27 ib_logfile1

drwx------ ?2 mysql mysql ? ? ?4096 Dec ?5 ?2012 jpetstore/

drwx------ ?2 lijg ?root ? ? ? 4096 Jul 24 ?2012 mysql/

-rw-rw---- ?1 root ?root ? ? ? ? ?6 Jul 24 ?2012 mysql_upgrade_info

drwx------ ?2 mysql mysql ? ? ?4096 Jul 24 ?2012 performance_schema/

drwx------ ?2 mysql root ? ? ? 4096 Oct 19 ?2012 test/

drwx------ ?2 mysql mysql ? ? ?4096 Oct 15 ?2012 wordpress/

?

自己的每个数据库都有对应目录,之下是存放数据的文件等。

?

---------------------------------下文的操作步骤,在ubuntu12上也测试通过了-----------------------------

在Ubuntu下安装的MySQL默认配置下的数据库文件存储位置是在/var/lib/mysql,如果你没有为/var挂载在一个足够大的分区 中,那么/var将和根目录/同在一个分区共享使用可用空间。大多数用户通常会为/home挂载一个独立的分区,所以这篇文章就是准备讲如何更改 MySQL数据库存储位置到其它挂载位置的。

?

MySQL数据库的文件结构是怎么样的呢,对于这样子创建的数据库命令:

?

CREATE DATABASE mysqldb

?

在默认的数据库存储位置下就会有个文件夹mysqldb。要操作数据库首先得停止数据库进程:

?