[Ubuntu] 将mysql的数据库转移到ntfs分区下面

我的PHP环境是由apache+php+mysql+phpmyadmin搭建起来的,详情请参考我的另一篇文章:

[Ubuntu] 转载:Ubuntu下安装apache+php+mysql+phpmyadmin 

 

但由于我是使用win7+ubuntu的,虽然基本上开发都在ubuntu下面,但有时也需要在win7下面运行一下网站的,所以我就要把mysql转移到ntfs上面去,但其中遇到了比较麻烦的问题,就是ntfs挂载在ubuntu下面的文件权限都是777的,具体操作过程遇到的问题和解决如下:

 

1. 修改 /etc/mysql/my.cnf

datadir        = /var/lib/mysql 

改为

datadir        = /media/MyDocuments/mysql 

 

尝试重启mysql

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start 

结果mysql怎么也重启不来

 

查看日志,/var/log/mysql/error.log,如下:

100819 15:10:20 [Note] Plugin 'FEDERATED' is disabled.
^G
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
100819 15:10:20 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100819 15:10:20  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name .
/ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot 
continue operation.

查了很久,基本都是说apparmor的问题,其实这个在my.cnf里面也有提到过了,

# * IMPORTANT
#
   If you make changes to these settings and your system uses apparmor, you may
#
   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

ok,这样的话,就明白很多了,修改/etc/apparmor.d/usr.sbin.mysqld即可。

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

改为

#/var/lib/mysql/ r,
#
/var/lib/mysql/** rwk,
/media/MyDocuments/mysql/ r,
/media/MyDocuments/mysql/** rwk,

再运行一下:/etc/init.d/apparmor reload 

 

重启mysql,搞掂!

 

 

 

 

 

 

posted @ 2011-09-12 23:42  DavidHHuan  阅读(499)  评论(0编辑  收藏  举报