最近我想在我的Linux系統上安裝MySQL數據庫,但是卻遇到了一些困難。我試圖按照常規方法安裝MySQL,但是總是失敗。
首先,我使用了以下命令來安裝MySQL:
sudo apt-get update sudo apt-get install mysql-server
然而,安裝過程中出現了錯誤:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
根據這個錯誤信息,我懷疑是權限問題。于是我試圖使用以下命令以root用戶的身份運行:
sudo su sudo apt-get install mysql-server
但是結果還是一樣,安裝失敗,出現同樣的錯誤。
經過一番探索,我發現問題出在Ubuntu 18.04版本特別的安全設置上。在這個版本中,MySQL的root用戶默認不能使用密碼登錄,而是必須使用unix_socket插件。這就導致了我們在安裝MySQL時無法通過root用戶登錄。
解決方法很簡單,只需要使用以下步驟:
- 使用以下命令以root用戶的身份登錄MySQL:
- 使用以下命令更新root用戶的連接方式:
- 重啟MySQL服務:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
sudo systemctl restart mysql
這個問題的解決方法就是如此簡單,但是如果你沒有理解Ubuntu 18.04版本的MySQL安全設置,就會很難找到問題所在。我希望我的經驗可以對你有所幫助。