今天在學習 Spark 連接 MySQL時發現還沒安裝,便參考了廈門大學實驗室的Blog進行操作。但安裝完成之后發現沒有顯示設置密碼的選擇,但又改不掉root密碼(頭開始痛起來)。
故記錄一下安裝MySQL並新建賬戶授權的過程。
方法一
-
在 MySQL 官網下載安裝包
-
在 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
-
安裝完成后啟動 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
注意如果要卸載需要卸載干凈!避免影響以后的重新安裝