Linux
在 Amazon EC2 機器上移動 MySQL 目錄
我試圖讓 MySQL 指向我安裝在我的 EC2 機器上的 EBS 卷上的目錄。
我採取了以下步驟:
- 已停止 MySQL (
/etc/init.d/mysqld stop
) - 成功- 在我的捲上創建了一個 MySQL 目錄,掛載在 /vol (
mkdir /vol/mysql
)- 將 /var/lib/mysql 的內容複製到 /vol/mysql (
cp -R /var/lib/mysql /vol/mysql
)- 更改了該目錄的所有者和組以匹配原始 (
chown -R mysql:mysql /vol/mysql
) - 在此步驟之後,這 2 個目錄是相同的。- 編輯 /etc/my.cnf 文件(註釋 2 條原始行):
[mysqld] \#datadir=/var/lib/mysql \#socket=/var/lib/mysql/mysql.sock datadir=/vol/mysql socket=/vol/mysql/mysql.sock
- 啟動 MySQL (
/etc/init.d/mysqld start
) -失敗錯誤文件 /var/log/mysqld.log 包含以下幾行:
100205 20:52:54 mysqld started 100205 20:52:54 InnoDB: Started; log sequence number 0 43665 100205 20:52:54 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.0.45' socket: '/vol/mysql/mysql.sock' port: 3306 Source distribution
沒有其他錯誤可用。
- 我究竟做錯了什麼?
- 我在哪裡可以找到 MySql 遇到的錯誤?
- 如果我恢復原始行,MySQL 就會啟動,這讓我相信這可能是一個權限問題——但是兩個目錄的權限是一樣的嗎?
謝謝!
我接受了 Garth 的建議並使用
sh -x
.mysql.sock
我發現訪問文件時存在權限問題。所以我把舊的留在了 conf 文件中,再次執行它,ta-da 它可以工作並從新位置執行!感謝 Gareth 給我指路。我在評論中給了你+1,但你沒有發布答案。
希望這個問題能幫助其他一些嘗試做同樣事情的人。
嘗試使用綁定掛載原始路徑。
安裝然後顯示:
/vol/etc/mysql on /etc/mysql type none (rw,bind) /vol/lib/mysql on /var/lib/mysql type none (rw,bind) /vol/log/mysql on /var/log/mysql type none (rw,bind)
並且配置文件仍然看起來像以前一樣:
socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql