Назад | Перейти на главную страницу

MySQL перемещает ibdata и ib_logfile

Я пытаюсь переместить ibdata и ib_logfile на SSD-диск. Я пробовал так, но не работает:

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, чтобы она могла блокировать файлы ...

Несколько вещей, которые нужно проверить:

  • убедитесь, что 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?

Обратите внимание, что перемещение файлов ibdata и ib_logfiles на SSD - лучшее, что вы можете сделать с точки зрения производительности, так как это файлы случайного ввода-вывода, которые улучшаются по сравнению с SSD.