更改 EC2 上的 MySQL 資料目錄

更改 EC2 上的 MySQL 資料目錄

我設定了一個 EC2 實例,並嘗試將 MySQL 資料目錄移至已安裝的儲存體。

預設資料目錄是:

/opt/bitnami/mysql/data

我已將該目錄完全複製到

/mnt/mysql_data

然後我將 my.cnf 中的路徑更改為以下內容:

datadir=/mnt/mysql_data

並重命名舊目錄以確保我使用新目錄。

我已經在新目錄上向 MySQL 授予了適當的權限 - 但我什至不認為 MySQL 正在嘗試到達那裡。當我嘗試重新啟動 mysql 時,我收到有關先前資料目錄的錯誤:

sudo /opt/bitnami/ctlscript.sh start mysql
111122 18:50:50 mysqld_safe Logging to '/opt/bitnami/mysql/data/mysqld.log'.
touch: cannot touch `/opt/bitnami/mysql/data/mysqld.log': No such file or directory
chown: cannot access `/opt/bitnami/mysql/data/mysqld.log': No such file or directory
111122 18:50:50 mysqld_safe Starting mysqld.bin daemon with databases from /opt/bitnami/mysql/data
/opt/bitnami/mysql/bin/mysqld_safe: 739: cannot create /opt/bitnami/mysql/data/mysqld.log: Directory nonexistent
eval: 1: cannot create /opt/bitnami/mysql/data/mysqld.log: Directory nonexistent
111122 18:50:50 mysqld_safe mysqld from pid file /opt/bitnami/mysql/data/ip-10-120-253-190.pid ended
/opt/bitnami/mysql/bin/mysqld_safe: 783: cannot create /opt/bitnami/mysql/data/mysqld.log: Directory nonexistent

我是否在某處遺漏了配置步驟?我見過其他有問題的人通過調整 apparmor 來解決它,但我什至沒有他們應該更改的文件“/etc/apparmor.d/usr.sbin.mysqld”。另外,我的問題似乎不是 mysql 無法存取新目錄 - 而是它仍在使用舊目錄。

答案1

事實證明,亞馬遜的控制腳本“/opt/bitnami/ctlscript.sh”正在執行位於/opt/bitnami/mysql/scripts/ctl.sh的mysql配置腳本

令人困擾的是,該腳本覆蓋了 my.cnf 檔案中的一些關鍵設定。在那裡更新它們可以解決問題。

答案2

您必須配置 mysql 以使用新的日誌目錄,請編輯 /etc/mysql/my.cnf (在本例中我使用的是 Debian)並更新

general_log_file = /mnt/data/log

祝你好運。

相關內容