看板 Database 關於我們 聯絡資訊
※ 引述《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