MySQL移动ibdata&ib_logfile

我正在试图在ssd驱动器上移动ibdata&ib_logfile。 我试过这种方式,但不起作用:

service mysql stop cd /var/lib/ cp -ra mysql mysql_backup cp -a mysql/ibdata1 mysql/ib_logfile* /ssd_drive/mysql 

my.cnf看起来像这样(相关部分):

 innodb_log_group_home_dir=/ssd_drive/mysql innodb_data_home_dir=/ssd_drive/mysql 

在所有更改后,我得到以下错误:

 InnoDB: Unable to lock /ssd_drive/mysql/ibdata1, error: 13 InnoDB: Check that you do not already have another mysqld process 

我是否需要删除一些锁文件,或者有其他的东西,我忘了…

另外我安装mysql apparmor,以便它可以在这个目录上运行,然后重新启动:

 /usr/sbin/mysqld { ................. /ssd_drive/mysql/* rwk, ................. } 

更新: 我忘了把K选项,所以它可以locking文件…

几件事情检查:

  • 确保没有mysql的进程正在运行ps faux|grep mysql
  • 检查/ssd_drive/mysql所有权是否正确chown mysql:mysql -R /ssd_drive/mysql

从原始位置启动mysql时,一切工作正常吗?

编辑:一些谷歌搜查给了我这个: http : //norman.hooper.name/blog/post/19/moving-mysql-in-ubuntu/你也调整了apparmor套接字部分?

请注意,从性能的angular度来看,将ibdata和ib_logfiles移动到SSD是可以做到的最好的事情,因为这些是随SSD而改进的随机I / O文件。