MySQL 暫時檔案夾

來源:互聯網
上載者:User

標籤:io   使用   ar   檔案   資料   sp   div   2014   art   

MySQL資料檔案夾/data/mysql所在的上層檔案夾/data磁碟空間不足導致MySQL啟動失敗,所以清理了/data檔案夾下除了mysql子檔案夾外的其它無用檔案夾。重新啟動發現還是失敗。檢查錯誤記錄檔。看到例如以下錯誤:
/usr/local/mysql/bin/mysqld: Can‘t create/write to file ‘/data/tmp/ibbLmEoD‘ (Errcode: 13 - Permission denied)

原來是清理無用檔案夾時不小心把MySQL設定檔裡指定的tmpdir——/data/tmp檔案夾也給刪除了,導致MySQL Server啟動時的一些暫時檔案或表無法寫入,從而啟動失敗。重建檔案夾並賦予正確的許可權後,重新啟動MySQL Server,正常啟動。


順便說一說MySQL 暫時檔案夾這個參數:

命令列參數格式:--tmpdir=path
設定檔參格式:tmpdir=path

暫時檔案夾用於儲存暫時檔案或暫時表。值能夠是一個使用“:”(Unix)或“;”(Windows)分隔的路徑列表,這些路徑可被輪流使用,以便將負載分到不同磁碟。若MySQL server是作為Slave的角色,則不能將該檔案夾指向基於記憶體檔案系統的檔案夾或者當主機重新啟動時會被清理掉的檔案夾,由於Slave須要這些檔案複製暫時表或運行LOAD DATA INFILE操作,這些檔案丟失會導致複製失敗。這意味著不能講slave的tmpdir設定為linux系統預設的/tmp檔案夾。對於Slave能夠使用還有一配置項slave_load_tmpdir來設定其暫時檔案夾,這樣Slave能夠不使用通用選項tmpdir設定的暫時檔案夾。對於非Slave角色的MySQL server沒此限制。

若暫時檔案夾不存在或許可權不對不僅會引起MySQL Server啟動失敗還會導致其它可能使用到暫時檔案夾的MySQL有用程式執行異常。非常多MySQL相關程式會從MySQL Server的設定檔讀取選項值,比方全備程式xtrabackup,以下這個錯誤就是由於MySQL Server設定檔裡指定的暫時檔案夾不存在造成的。

xtrabackup_56: Can‘t create/write to file ‘/data/tmp/ibHbumcM‘ (Errcode: 2 - No such file or directory)
2014-07-23 16:04:42 7f1b25c607e0  InnoDB: Error: unable to create temporary file; errno: 2
xtrabackup: innodb_init(): Error occured.
innobackupex: Error: 
innobackupex: ibbackup failed at /usr/bin/innobackupex line 389.

MySQL 暫時檔案夾

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.