Mysql Datadir在不同的硬盘上

我目前正在运行Ubuntu 13.04和MySQL 5.5。 我一直在使用InnoDB,以及安装的默认位置。 问题是我的主OS分区相当小(36GB),我需要将我的数据库移动到我的2TB驱动器。

我正在尝试从以下位置更改MySQL datadir:

/var/lib/mysql 

至:

 /path/to/new/directory 

但我遇到了各种各样的问题。 MySQL拒绝启动,并且通常告诉我权限存在问题。 不过,这对我没有任何意义。 这是我尝试过的:

我复制了这些文件:

 cp -R /var/lib/mysql /path/to/new/directory 

我编辑了/etc/mysql/my.cnf

 datadir=/path/to/new/directory 

更新了权限:

 chown -R mysql:mysql /path/to/new/directory 

更新的Apparmor:

 /path/to/new/directory/ r, /path/to/new/directory/** rwk, 

我确保重置Apparmor:

 service apparmor restart 

但它仍然给我错误。 我不确定我还需要做什么。 有没有人有权在Ubuntu 13.04,MySQL 5.5和InnoDB下完成这项工作?

我遇到了完全相同的问题,但是我找到了一个更适合我的替代方案,因为在my.cnf文件中将用户更改为root对我来说不起作用。

  1. 首先前往MySQL数据目录并将所有ibdata文件和所有ib_logfile文件移动到临时文件夹(应该类似于mv /path_to_mysql_data_directory/ib* /path_to_temp_folder/ )。
  2. 运行sudo service mysqld start ,它应该启动。
  3. 运行sudo service mysqld stop ,它应该停止。
  4. 将您移动到temp文件夹的文件放回MySQL数据目录(应该类似于mv /path_to_temp_folder/ib* /path_to_mysql_data_directory/ )。
  5. 再次运行sudo service mysqld start ,一切都应该开始了。

这个解决方案对我有用,但我没有在其他地方测试过。