Ubuntu
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,以便它可以在此目錄上 rwk,然後重新啟動:
/usr/sbin/mysqld { ................. /ssd_drive/mysql/* rwk, ................. }
更新: 我忘了放 k 選項,所以它可以鎖定文件……
幾件事情要檢查:
- 確保沒有 mysql 程序正在執行
ps faux|grep mysql
- 檢查
/ssd_drive/mysql
所有權是否正確chown mysql:mysql -R /ssd_drive/mysql
從原始位置啟動 mysql 時一切正常嗎?
**編輯:**一些Google搜尋給了我這個:http ://norman.hooper.name/blog/post/19/moving-mysql-in-ubuntu/你也調整了apparmor的套接字部分嗎?
請注意,從性能的角度來看,將 ibdata 和 ib_logfiles 移動到 SSD 是您可以做的最好的事情,因為這些是隨機 I/O 文件,可以在 SSD 上進行改進。