我正在试图在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文件…
几件事情检查:
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文件。