1. 什麼是 MySQL?
MySQL 是一個開放原始碼的關聯式資料庫管理系統(RDBMS),特別廣泛應用於網站應用程式的後端。它常與 PHP、Python 等程式語言搭配使用,作為免費且開放原始碼的軟體,在全球擁有廣大支持者。
MySQL 的主要特色:
- 開放原始碼且免費:不論是個人或商業用途,都可以自由使用。
- 高效能:能有效率地處理大型資料,並且具有高度可靠性。
- 可擴展性:可靈活支援從小型到大型的系統規模。
本文將詳細介紹在 Linux 環境(Ubuntu 與 CentOS)中安裝 MySQL 的步驟,並說明基本操作方法與常見錯誤的解決方式。
2. 安裝前準備:Linux 環境設定
在安裝 MySQL 之前,請務必確認 Linux 系統已更新至最新狀態。若系統未更新,可能會發生相依性或相容性問題。
2.1 系統需求確認
安裝 MySQL 所需的基本條件如下:
- 記憶體:至少 512MB(建議 1GB 以上)
- 磁碟空間:至少 500MB
- 作業系統版本:Ubuntu 20.04 以上,CentOS 7 以上
2.2 系統更新
為了順利完成安裝,建議先將系統套件更新至最新狀態。請執行以下指令更新系統。
- Ubuntu 範例:
sudo apt update && sudo apt upgrade -y
- CentOS 範例:
sudo yum update -y

3. MySQL 安裝方法:Ubuntu 範例
3.1 使用 APT 套件庫安裝
透過 APT 套件庫安裝 MySQL,執行以下指令安裝 MySQL 伺服器:
sudo apt install mysql-server -y
3.2 強化安全性設定
安裝完成後,執行 mysql_secure_installation
指令來加強安全性,例如設定 root 帳號密碼、停用不必要的預設設定等。
sudo mysql_secure_installation
3.3 啟動 MySQL 並檢查狀態
確認 MySQL 已成功安裝並啟動服務,使用以下指令:
sudo systemctl start mysql
sudo systemctl status mysql
4. MySQL 安裝方法:CentOS 範例
4.1 設定 Yum 套件庫
在 CentOS 中,需要先新增官方 MySQL 套件庫,執行以下指令:
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
4.2 安裝 MySQL
設定完成後,執行以下指令安裝 MySQL:
sudo yum install mysql-community-server
4.3 啟動並設定開機自動啟動
安裝後,啟動 MySQL 並設定為開機自動啟動:
sudo systemctl start mysqld
sudo systemctl enable mysqld

5. 基本操作
安裝完成後,可以進行基本操作,例如建立資料庫與管理使用者。
5.1 登入 MySQL
執行以下指令登入 MySQL:
mysql -u root -p
5.2 建立資料庫
使用以下指令建立新資料庫:
CREATE DATABASE example_db;
確認資料庫是否建立成功:
SHOW DATABASES;
5.3 建立使用者並允許遠端存取
建立新使用者並給予必要權限,允許外部存取:
CREATE USER 'new_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%';
6. 常見問題排解
6.1 MySQL 錯誤 1045:存取被拒
若登入 MySQL 時出現「ERROR 1045: Access denied for user ‘root’@’localhost’」錯誤,請嘗試以下方式:
- 確認密碼正確:請確認輸入的
root
密碼正確。 - 重設 root 密碼:若忘記密碼,可在安全模式下啟動 MySQL 並重設密碼。
sudo mysqld_safe --skip-grant-tables &
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- 檢查連接埠設定:確認 MySQL 是否在預設 3306 連接埠運行,必要時修改並重啟。
SHOW VARIABLES LIKE 'port';

7. 總結
本文介紹了在 Linux 環境(Ubuntu 與 CentOS)中安裝 MySQL 的完整步驟,並涵蓋基本操作與常見錯誤(如錯誤 1045)的排解方法。希望本文能幫助你正確安裝 MySQL,並順利開始資料庫的管理與使用。