Ubuntu20.04上安裝MySQL8.0(絕對保證能夠正常使用)


今天在學習 Spark 連接 MySQL時發現還沒安裝,便參考了廈門大學實驗室的Blog進行操作。但安裝完成之后發現沒有顯示設置密碼的選擇,但又改不掉root密碼(頭開始痛起來)。

故記錄一下安裝MySQL並新建賬戶授權的過程。

方法一

  1. 在 MySQL 官網下載安裝包

    https://dev.mysql.com/downloads/repo/apt/

  2. 在 Ubuntu 中使用終端命令進行解壓

    # 輸入命令, dpkg 是解壓的意思,最后的參數是安裝包名稱,一定要寫對
    sudo dpkg -i 安裝包(不能出錯)
    

    解壓顯示的 GUI 頁面直接選擇 OK 后 <確定>

    # 輸入命令為 如果顯示 Yes/No 填Y
    sudo apt update 
    sudo apt upgrade
    # 這里填完 Y 之后會經過比較長的下載時間,大概 30 分鍾后進行 GUI 頁面
    sudo apt install mysql-community-server
    

  3. 安裝完成后啟動 MySQL 服務並登錄 Root 用戶

    # 啟動和關閉mysql服務器
    service mysql start
    service mysql stop
    

    確認是否啟動成功,MYSQL 節點處於LISTEN狀態表示啟動成功 (重要),MySQL 8.X 這里會顯示兩條信息

    查看是否啟動成功

    進入MySQL Shell界面:這里會要求輸入 MySQL Root 用戶密碼

方法二(無法設置 Root 密碼)

Ubuntu在20.04版本中,源倉庫中MySQL的默認版本已經更新到8.0。可以直接使用apt安裝。

apt 安裝MySQL

sudo apt-get update  #更新源
sudo apt-get install mysql-server #安裝

sudo apt install net-tools

MySQL服務管理

sudo service mysql status # 查看服務狀態
sudo service mysql start # 啟動服務
sudo service mysql stop # 停止服務
sudo service mysql restart # 重啟服務

登錄

查看密碼使用這條查看

sudo cat /etc/mysql/debian.cnf

使用默認賬戶登錄

mysql -u debian-sys-maint -p

或直接進入 Mysql

sudo mysql

找不到初始密碼可以在my.ini中 [mysqld] 添加:skip-grant-tables

創建新用戶

因為方法二嘗試修改了root賬戶的密碼似乎不起作用,於是創建一個新的賬戶來作為日常使用

新建賬戶

新建一個root用戶,密碼為root

create user 'root'@'%' identified by 'root';

授權

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

修改MySQL數據庫配置文件無密碼登錄后,修改密碼報錯為以下

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

則需先執行:FLUSH PRIVILEGES; 后再執行修改密碼命令即可。

重置密碼

重置root賬戶密碼為 password

SET PASSWORD FOR root@'localhost' = PASSWORD('password');

或者執行

SET PASSWORD FOR root@'localhost' = 'password';

卸載MySQL

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

注意如果要卸載需要卸載干凈!避免影響以后的重新安裝

參考文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM