本週早些時候,我使用 CPanel WHM 介面將 MySQL 從 v5.0 遷移到 5.6。昨晚,我從我的系統收到一封電子郵件,聲稱舊版 MySQL RPM 現在有問題。電子郵件中寫道:
Problems were detected with cPanel-provided files which are RPM
controlled. If you did not make these changes intentionally, you can
correct them by running:
> /usr/local/cpanel/scripts/check_cpanel_rpms --fix
The following RPMs are found to be altered from their original install
state:
compat-MySQL51-shared,5.1.73,4.cp1136,/usr/lib64/libmysqlclient.so.16.0.0
當我在機器上運行 check_cpanel_rpms 時,我得到:
/usr/local/cpanel/scripts/check_cpanel_rpms --list-only 預連結:/usr/lib64/libmysqlclient.so.16.0.0:自預先連結以來,至少一個檔案的依賴項已更改[20141025.184811] [201410811]偵測到問題cPanel 提供的受 RPM 控制的檔案。 [20141025.184811] 如果您不是有意進行這些更改,可以透過執行以下命令來更正它們: [20141025.184811] [20141025.184811] > /usr/local/cpanel/scripts/check_c1811] > /usr/local/cpanel/scripts/check_c10811] >12501412501014150105015012501505013050500050 18481 1]找到以下文件對其原始RPM 進行更改: [20141025.184811] compat-MySQL51-shared,5.1.73,4.cp1136 [20141025.184811]
它抱怨的是 5.1,它不是目前運行的版本。
這個--fix
選項check_cpanel_rpms
非常神奇——我不確定它是否可以安全運行;作為「修復」的一部分,它很可能會關閉我的 MySQL 實例。
我該如何修正這個警告?如果可能的話,我更喜歡一種不會導致 MySQL 中斷的方法。
答案1
如果您不想運行該命令,您可以嘗試運行 EasyApache 以使用正確的 mysql 用戶端擴展重建 Apache/PHP,儘管如果您選擇無人值守升級,則可能已經運行了,因為您的某些站點將無法工作如果未完成,則在MySQL 升級後。
另外,我認為如果你跑步的話不會有任何問題
/usr/local/cpanel/scripts/check_cpanel_rpms --fix
。
我已在伺服器上多次運行該命令來解決類似的問題,但從未遇到過問題。
如果您透過 WHM 進行了 MySQL 升級,則該命令應僅刪除舊的 MySQL RPM,並保留目前的 MySQL 5.6 RPM。
為了安全起見,您應該在執行命令之前備份所有資料庫,以防出現任何問題,但它不應該導致任何 MySQL 停機。
您可以透過執行來備份所有資料庫
mysqldump --all-databases > all_databases.sql
將所有資料庫備份到一個檔案中,或者
for i in `mysql -e "show databases;"`; do mysqldump $i > /folder_path/$i.sql; done
將每個資料庫備份到自己的檔案中。