CentOS 8 安裝與設定 MySQL 8, phpMyAdmin 4.9
MySQL 8 具有更快的速度與穩定性,據說在許多項目的效能又勝過孿生兄弟 MariaDB,事實上這兩個孿生兄弟軟體的表現都很優秀。總之,本文就是要介紹該如何在 CentOS 8 上完成 MySQL 8、phpMyAdmin 4.9的安裝與基本設定。值得注意的是,請先將伺服器的 PHP 和 網站伺服器(Apache or Nginx或其他) 都安裝完成,才有辦法測試 phpMyAdmin。
If you don’t read Mandarin, we provided the same content wrote in English here: Install MySQL 8 & phpMyAdmin on CentOS 8
由於 CentOS 8 內建的 AppStream 已經將 MySQL 8 收錄在內,所以可以直接安裝喔!
1 |
$ sudo dnf install mysql-server |
安裝完之後,順便設定 mysql 開機時自動啟動。
1 |
$ sudo systemctl enable mysqld |
接著,啟動 MySQL。
並查看初次啟動時藏在 log 裡面的預設密碼。
1 2 3 |
$ sudo systemctl start mysqld $ sudo grep "temporary password" /var/log/mysqld.log [Note] A temporary password is generated for root@localhost: xxxxxxukj5+t783 |
這一步可做可不做,主要是設定 MySQL 使用者的密碼原則等級,並順便重設 root 密碼。
若你只想重設 root 密碼,可以跳過這一步,因為 MySQL 使用者的密碼原則等級預設是中等。
1 |
$ mysql_secure_installation |
這一步驟就是單純修改 root 密碼而已。
(如果你已經完成 Step 3,就不需要做這個步驟了。)
1 2 3 |
$ mysql -u root -p mysql> FLUSH PRIVILEGES; mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼'; |
輸入 exit
即可離開 MySQL。
登出後再次以 root 使用新密碼登入 MySQL,檢查密碼是否更改成功。
1 |
$ mysql -u root -p |
最好使用 phpMyAdmin 4.9 以上的版本才支援 MySQL 8 喔。phpMyAdmin官方網站
去官方網站複製下載網址,使用 wget 下載到家目錄,並且使用 unzip 解壓縮。
(可以安裝 zip 套件會同時安裝 unzip,沒辦法 phpMyAdmin 是用 zip 壓縮格式)
解壓縮之後會出現一個以跟檔名一致的資料夾。
1 2 |
[andy@www ~]$ wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip [andy@www ~]$ unzip phpMyAdmin-5.0.1-all-languages.zip |
把剛才解壓縮出來的資料夾搬到你用來放站台的目錄底下。
本範例是將站台集中放在『/var/www/』下面,而下列指令會在複製資料夾之餘順便把資料夾名稱改為『phpMyAdmin』。(建議改一個更安全的名稱,最好是沒有 phpmyadmin 字樣的命名,否則太容易被用來暴力破解密碼。)
1 |
[andy@www ~]$ cp phpMyAdmin-5.0.1-all-languages /var/www/phpMyAdmin |
設定 Apache ,可以參考之前寫過的這篇的 Step 3 與其後續步驟之設定。(很巧剛好也是 Step 3 🙂 )
如果你的 MySQL 是要接受別台伺服器連線,例如:你的網站和 MySQL 分別放在兩台不同的伺服器中,就會需要在 MySQL 這台伺服器開啟允許httpd存取資料庫的設定。
1 2 3 4 5 |
$ sudo getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> off $ sudo setsebool -P httpd_can_network_connect on $ sudo getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> on |
Pingback:CentOS 8 架站教學彙整 - BrilliantCode.net