2022-02-02

【Database】Mint Linux 20.3 安裝設定 MySQL 8.0 + phpMyadmin

參考資料 ----

ALTER USER Statement


看似 Ubuntu/Mint 家族並未棄用 MySQL,採 Mariadb/MySQL 並存的方式;偷懶,這次仍是安裝 MySQL,作業系統為 LinuxMint 20.3 MATE, 預設的版本為 MySQL 8.0


新建一台虛擬機


安裝 Guest Additions 讓 虛擬機的螢幕 自動調整客體顯示大小

安裝完成後,設定 "更新管理員" 的 "軟體來源" -- 鏡像站改為國內 國家高速運算中心(https://www.nchc.org.tw/)










安裝 vim(Mint 預設已裝 vi,這適合 80 鍵鍵盤,老人家用不慣 😓)
  1.  
  2. ~$ sudo apt install vim
  3.  


暫時關閉防火牆
  1.  
  2. ~$ sudo ufw disable
  3.  
  4. # 確認防火牆沒有啟動
  5. ~$ sudo ufw status
  6.  

安裝 MySQL,Mint 會連帶安裝其他相關的套件
  1.  
  2. ~$ sudo apt install mysql-server
  3.  

安裝完成後,MySQL server 應該會自行啟動執行
  1.  
  2. # 查詢 MySQL 狀態
  3. ~$ sudo systemctl status mysql
  4.  
  5. # 啟動 mysql
  6. ~$ sudo systemctl start mysql
  7.  
  8. # 停止 mysql
  9. ~$ sudo systemctl stop mysql
  10.  


安裝後,進行安全性設定
  1.  
  2. ~$ sudo mysql_secure_installation
  3.  
問答式設定,依指示回答,以下是老人家的設定,請依自己需求設定

是否要設定密碼強度規則?


密碼強度選擇 -- 2:最強 -- 8 個字碼以上,其中必須 至少 1 個大寫英文 + 至少 1 個小寫英文 + 至少 1 個數字 + 至少 1 個特殊字元


輸入 MySQLroot 密碼(MySQL 也是以 "root" 這個名稱做管理者,不過這裡設定的不是 Linux 的 root 密碼)


是否要剛才設的密碼即刻生效?


是否移除匿名使用者


是否 "不允許" MySQLroot 從遠端登入 MySQL


是否移除 test 資料庫(因為稍後設定 MySQL 時要指定 phpMyAdmin 啟動時預設連線的資料庫,所以先留著,不刪)


重新載入權限資料表

設定完成


設定 MySQL 時區
  1.  
  2. ~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  3.  
  4. [mydqld]
  5. default-time-zone = '+8:00'
  6.  
  7. :x 存檔離開
  8.  

剛安裝好 MySQL 時,預設的管理者帳號是 root,所以, 第 1 次以命令形式登入 MySQL,也不需要密碼

  1.  
  2. ~$ sudo mysql
  3.  
  4. -- SQL 指令沒有大/小寫分別,不過慣例上都會以大寫表示
  5. -- (記得要加 分號 做為命令的結束)
  6. > ALTER USER 'root'@'localhost' IDENTIFIED WITH CACHING_SHA2_PASSWORD BY '新密碼';
  7.  
  8. -- 退出,密碼才能生效
  9. > EXIT
  10.  
因為先前的步驟我們指定了密碼強度為 2,所以密碼若不符合這個規則就會出錯

再重新登入就會要求輸入密碼了
  1.  
  2. ~$ sudo mysql -u root -p
  3. # 隨後會要求您輸入密碼
  4. # 參數 -u 是要登入的使用者帳號
  5. # -p 是稍後要輸入密碼
  6.  
  7.  
  8. # 另一種登入指令, 但不建議使用, 因為是將密碼以明碼方式顯示
  9. # 注意: -p 跟密碼間沒有空格, 但這麼一來, 您的密碼就顯示在命令列中, 旁人一覽無遺了
  10. ~$ sudo mysql -u root -p密碼
  11.  
  12.  
  13. # 登入後, 命令提示字元會變成 >
  14.  
  15. -- 建立資料庫
  16. > CREATE 資料庫名稱;
  17.  
  18.  
  19. -- 列出目前 MySQL 已建立的使用者帳號
  20. > SELECT user FROM mysql.user;
  21.  
  22.  
  23. -- 新建一個使用者 admin
  24. > CREATE USER 'admin'@'localhost' IDENTIFIED WITH caching_sha2_password BY '密碼';
  25. -- 預設的密碼格式為 caching_sha2_password
  26. -- 其他格式有:mysql_native_password, sha256_password
  27.  
  28.  
  29. -- 賦予 admin 最高權限
  30. > GRANT ALL PRIVILEGES ON * . * TO 'admin'@'localhost';
  31.  
  32. > exit
  33.  


注意:
MySQL 8.0 預設不再支援 MyISAM

MySQL 預設的資料庫管理工具是 MySQL Workbench,不過在 Mint 20.3 執行時,會出現不支援 Mint 的訊息,而且我才玩了一下下就掛了!!


安裝 phpmyadmin
  1.  
  2. ~$ sudo apt install phpmyadmin
  3.  
  4. # Mint 會自動幫您安裝 apache2
  5.  


打開本機的瀏覽器(預設是火狐Firefox),在網址列輸入 http://localhost注意:不是 https

目前,我們還沒有啟用(加密)安全連線,也無法從別的電腦訪問這個內網

phpMyadmin 的網址為
http://localhost/phpmyadmin


沒有留言:

張貼留言