Mysql
數據庫目錄儲存已滿,需要更改連結到新分區
我的 mysql 數據庫目錄大小已滿。所以我想把它改成另一個有大量空間的分區。我使用的數據庫版本是 MySQL 5.7.23,作業系統是 CentOS 7。
在搜尋網際網路後,我得到了 2 個解決方案。第一個如下:
首先,我創建了一個指向新驅動器的 Systemlink。然後我嘗試啟動mysql,每次嘗試啟動都會失敗。刪除系統連結後,它將啟動。
我得到的錯誤是
[Note] InnoDB: Highest supported file format is Barracuda. 2018-08-21T10:08:04.839330Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation. 2018-08-21T10:08:04.839349Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory. 2018-08-21T10:08:04.839360Z 0 [ERROR] InnoDB: os_file_readdir_next_file() returned -1 in directory ./, crash recovery may have failed for some .ibd files! 2018-08-21T10:08:04.839385Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2018-08-21T10:08:05.440529Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 2018-08-21T10:08:05.440597Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2018-08-21T10:08:05.440610Z 0 [ERROR] Failed to initialize builtin plugins. 2018-08-21T10:08:05.440617Z 0 [ERROR] Aborting 2018-08-21T10:08:05.440665Z 0 [Note] Binlog end 2018-08-21T10:08:05.440770Z 0 [Note] Shutting down plugin 'CSV' 2018-08-21T10:08:05.441349Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
其次,https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04我跟著這個網址和之後,當嘗試啟動 mysql 時,繼續收到此錯誤無法連接到本地主機(111)(錯誤:2003)。這次 mysqld.log 文件中沒有顯示任何內容
這是關鍵:
2018-08-21T10:08:04.839360Z 0 [ERROR] InnoDB: os_file_readdir_next_file() returned -1 in directory ./, crash recovery may have failed for some .ibd files!
它說,它無法遍歷包含數據庫文件的目錄,錯誤程式碼為-1。錯誤 -1 表示
沒有權限
執行 mysql 伺服器的使用者應該有權訪問該目錄。在大多數 Linux 上,命令是:
chown mysql:mysql -Rc /var/lib/mysql
作為 root。