※ 引述《zmack0905 (降太)》之銘言:
: 因為硬碟空間不夠用了,想把資料移到/home下面
: 而且希望以後都在那下面運算(運算的時候消耗到/home的空間,/要炸了)
: 先修改了my.cny,把datadir設 /home/data/mysql socket也改過去
: 然後把/var/lib/mysql 裡面的資料都複製過去
: 修改/home/data/mysql的屬性(chown mysql:mysql /home/data)
我會使用chown -R mysql:mysql /home/data 確認目錄下面的子目路的own都是
mysql
: gpasswd mysql root (所以說mysql在新的資料位置是有權限運作的)
: 最後service mysqld restart
這一 行告訴我你在複製資料的時候並沒有先把mysql關掉
: 在start的地方 [faile]
: 回去翻查log檔
: 131008 00:51:06 mysqld_safe Starting mysqld daemon with databases from
: /home/data/mysql
: -----------------
: 131008 0:51:06 [Warning] Can't create test file
: /home/data/mysql/youtube.lower-test
: 131008 0:51:06 [Warning] Can't create test file
: /home/data/mysql/youtube.lower-test
: ^G/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
: 131008 0:51:06 [ERROR] Can't open the mysql.plugin table. Please run
: mysql_upgrade to create it.
: ^G/usr/libexec/mysqld: Can't create/write to file '/home/data/tmp/ibe3iIFH'
: (Errcode: 13)
上面的錯誤訊息都是寫沒有write檔案成功,權限的問題是最可能的
: 131008 0:51:06 InnoDB: Error: unable to create temporary file; errno: 13
: 131008 0:51:06 [ERROR] Plugin 'InnoDB' init function returned error.
: 131008 0:51:06 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE
: failed.
InnoDB啟動失敗的錯誤訊息
: 131008 0:51:06 [ERROR] Can't start server : Bind on unix socket: Permission
: denied
連寫socket檔案都失敗
: ------------------
: 131008 0:51:06 [ERROR] Do you already have another mysqld server running on
: socket: /home/data/mysql/mysql.sock ?
這個錯誤應該是你在複製的時候一起把mysql.sock一起複製到/home/data了
D131008 0:51:06 [ERROR] Aborting
: 後來是改回/var/lib/mysql才回復正常使用
: 可是空間不夠我沒辦法把資料繼續運算下去呀囧.....
空間不夠你運算,最有可能是你的query需要大量的temp file做 file sort吧
該看一下語法有沒有調整的可能
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.48.220