不同硬盘上的 Mysql Datadir

不同硬盘上的 Mysql Datadir

我目前正在运行 Ubuntu 13.04 和 MySQL 5.5。我一直在使用 InnoDB 和默认安装位置。问题是我的主要操作系统分区相当小(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 下运行它的权威指南吗?

答案1

我遇到了完全相同的问题,但我找到了一个对我来说更好的替代方案,因为在 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. 将您移动到临时文件夹的文件放回 MySQL 数据目录(应该看起来类似于mv /path_to_temp_folder/ib* /path_to_mysql_data_directory/)。
  5. sudo service mysqld start再次运行,一切就应该开始。

这个解决方案对我来说确实有效,但我还没有在其他地方测试过。

相关内容