簡體   English   中英

升級mysql版本后mysql沒有運行

[英]Mysql not running after upgrading mysql version

按照鏈接,我在 ubuntu 14.04 droplet 上將 MySQL 版本從 5.5 升級到 5.7。 但是升級 MySQL 后無法啟動顯示此錯誤。

mysqld: Can't read dir of '/etc/mysql/mysql.conf.d/' (Errcode: 13 - Permission denied)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

如何解決這個問題?

就我而言, AppArmor阻止MySQL訪問此目錄。 我禁用了它:

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

我在 這里找到了這個解決方案。

另一種方法是調整/etc/apparmor.d/usr.sbin.mysqld配置。

您嘗試使用 chmod 設置文件夾的權限

chmod 755 /etc/mysql/mysql.conf.d

mysql.conf.d 是一個新文件可以添加

有時 mysql 不啟動或不工作的原因是因為您的系統內存可能已滿,因此您可能需要運行“apt autoremove”,有時需要運行“apt autoclean”,以確保准確運行“service mysql status”

這些是糾正此問題的步驟:

備份 /etc/mysql 中的 my.cnf 文件並刪除或重命名它

sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
Remove the folder /etc/mysql/mysql.conf.d/ using

sudo rm -r /etc/mysql/mysql.conf.d/

確認您沒有將 my.cnf 文件藏在其他地方(我在我的主目錄中做過!)或在 /etc/alternatives/my.cnf 中使用

sudo find / -name my.cnf

備份和刪除 /etc/mysql/debian.cnf 文件(不確定是否需要,但以防萬一)

sudo mv /etc/mysql/debian.cnf /etc/mysql/debian.cnf.bak
sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7
sudo apt install mysql-server

如果您的系統日志顯示諸如“mysqld:無法讀取 '/etc/mysql/conf.d/' 的目錄”之類的錯誤,請創建一個符號鏈接:

sudo ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d

那么服務應該可以用 sudo service mysql start 啟動。

有時 mysql 不會啟動,因為您的系統內存可能已滿或某些依賴性問題。 所以你可能需要在啟動 mysql 之前清理你的內存。

你可以試試這個來解決你的問題

apt-get autoremove
apt-get remove --purge mysql*
apt-get autoclean
deluser mysql
rm -rf /var/log/mysql
rm -rf /var/lib/mysql
rm -rf /etc/mysql

無論如何,這些是升級mysql的正確步驟

  1. 備份 /etc/mysql 中的 my.cnf 文件並刪除或重命名它

    sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
  2. 刪除文件夾 /etc/mysql/mysql.conf.d/ 使用

    sudo rm -r /etc/mysql/mysql.conf.d/
  3. 確認您沒有將 my.cnf 文件藏在其他地方(我在我的主目錄中做過!)或在 /etc/alternatives/my.cnf 中使用

    sudo find / -name my.cnf
  4. 備份和刪除 /etc/mysql/debian.cnf 文件(不確定是否需要,但以防萬一)

     sudo mv /etc/mysql/debian.cnf /etc/mysql/debian.cnf.bak sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7 sudo apt install mysql-server
  5. 如果您的系統日志顯示諸如“mysqld:無法讀取 '/etc/mysql/conf.d/' 的目錄”之類的錯誤,請創建一個符號鏈接:

     sudo ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d

然后服務應該可以用sudo service mysql start

您必須創建缺少的目錄。

在Linux控制台/終端中運行以下命令:

mkdir -p /etc/mysql/mysql.conf.d

權限沒問題但是主人錯了。

chown mysql:mysql /etc/mysql/mysql.conf.d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM