參考資料 ----
* 這篇筆記是從 Mint Linux 20.3 安裝設定 MySQL 8.0 + phpMyadmin 那篇更新過來的,所以只要能理解、看得懂,部份截圖就沿用 LinuxMint20 的了。😇
VMWare Workstation 開放個人免費使用了!😄
新建一台 VMWare Workstation 虛擬機
看似 Ubuntu/Mint 家族並未棄用 MySQL,採 Mariadb/MySQL 並存的方式;偷懶,這次仍是安裝 MySQL,作業系統為 LinuxMint 22.2 MATE, MySQL 8.0。
安裝完成後,設定 "更新管理員" 的 "軟體來源" -- 鏡像站改為國內 國家高速運算中心(https://www.nchc.org.tw/)。
安裝 vim(Mint 預設已裝 vi,這適合 80 鍵鍵盤,老人家用不慣 😓)
~$ sudo apt install vim
暫時關閉防火牆
~$ sudo ufw disable # 確認防火牆沒有啟動 ~$ sudo ufw status
安裝 MySQL,Mint 會連帶安裝其他相關的套件
~$ sudo apt install mysql-server
安裝完成後,MySQL server 應該會自行啟動執行
# 下述 3 個指令只是順手筆記, 不執行 # 查詢 MySQL 狀態 ~$ sudo systemctl status mysql # 啟動 mysql ~$ sudo systemctl start mysql # 停止 mysql ~$ sudo systemctl stop mysql
安裝後,進行安全性設定
~$ sudo mysql_secure_installation
問答式設定,依指示回答,以下是老人家的設定,請依自己需求設定
是否要設定密碼強度規則?
補充說明:密碼強度2(最強) -- 8 個字碼以上,除了必須滿足中等強度外 + 不能有容易被聯想的字(ex: P@ssw0rd → 可聯想到 password),本來我想設最強,但嚐試了好幾次,都被判定不符合強度2 的規定,只好退而求其次,改選強度 1。
是否 "不允許" MySQL 的 root 從遠端登入 MySQL:我選 y
設定完成

打開本機的瀏覽器(預設是火狐Firefox),在網址列輸 入 http://localhost/phpmyadmin , 注意:不是 https
是否移除匿名使用者:我選 y
是否移除 test 資料庫(因為稍後設定 MySQL 時要指定 phpMyAdmin 啟動時預設連線的資料庫,所以先留著,不刪)
重新載入權限資料表:我選 y
如果重新執行 mysql_secure_installation,上述的步驟會略過一開始的【設定密碼強度】,若想完整重新執行 mysql_secure_installation,則需要先移除密碼強度套件 component_validate_password
# 剛安裝好 MySQL 時,預設的管理者帳號是 root,所以, 第 1 次以命令形式登入 MySQL,也不需要密碼 ~$ sudo mysql # 進到 mysql, 提示字元變成 > -- 查詢已安裝的元件 > SELECT * FROM mysql.component; +--------------+--------------------+------------------------------------+ | component_id | component_group_id | component_urn | +--------------+--------------------+------------------------------------+ | 1 | 1 | file://component_validate_password | +--------------+--------------------+------------------------------------+ 1 row in set (0.00 sec) -- 刪除元件 > UNINSTALL COMPONENT 'file://component_validate_password'; -- 退出 mysql > EXIT
設定 MySQL 時區
~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf [mydqld] default-time-zone = '+8:00' :x 存檔離開
剛安裝好 MySQL 時,預設的管理者帳號是 root,所以, 第 1
次以命令形式登入 MySQL,也不需要密碼
~$ sudo mysql -- SQL 指令沒有大/小寫分別,不過慣例上都會以大寫表示 -- (記得要加 分號 做為命令的結束) > ALTER USER 'root'@'localhost' IDENTIFIED WITH CACHING_SHA2_PASSWORD BY '新密碼'; -- 退出,密碼才能生效 > EXIT
-- 這段應該可以考慮刪除 > SELECT user, host, plugin, authentication_string FROM mysql.user WHERE user='root'; +------+-----------+-------------+-----------------------+ | user | host | plugin | authentication_string | +------+-----------+-------------+-----------------------+ | root | localhost | auth_socket | | +------+-----------+-------------+-----------------------+ 1 row in set (0.00 sec)因為先前的步驟我們指定了密碼強度為 2,所以密碼若不符合這個規則就會出錯
再重新登入就會要求輸入密碼了
~$ sudo mysql -u root -p # 隨後會要求您輸入密碼 # 參數 -u 是要登入的使用者帳號 # -p 是稍後要輸入密碼 # 另一種登入指令, 但不建議使用, 因為是將密碼以明碼方式顯示 # 注意: -p 跟密碼間沒有空格, 但這麼一來, 您的密碼就顯示在命令列中, 旁人一覽無遺了 ~$ sudo mysql -u root -p密碼 # 登入後, 命令提示字元會變成 > -- 建立資料庫 > CREATE 資料庫名稱; -- 列出目前 MySQL 已建立的使用者帳號 > SELECT user FROM mysql.user; -- 新建一個使用者 admin, 給後續安裝的 phpMyAdmin > CREATE USER 'admin'@'localhost' IDENTIFIED WITH caching_sha2_password BY '密碼'; -- 預設的密碼格式為 caching_sha2_password -- 其他格式有:mysql_native_password, sha256_password -- 賦予 admin 最高權限 > GRANT ALL PRIVILEGES ON * . * TO 'admin'@'localhost'; > exit
注意:
安裝 phpmyadmin
~$ sudo apt install phpmyadmin # 若安裝過程有失誤 或 不滿意, 想重新跑設定步驟, 可執行 ~$ sudo dpkg-reconfigure phpmyadmin
www





沒有留言:
張貼留言