首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 資料庫伺服器安裝與配置完整指南:從 RPM 到 YUM 的最佳實踐

     編輯:MySQL 資料庫相關知識

MySQL 核心特性概覽

  • 輕量高效:C/C++ 編寫,多線程架構充分利用多核 CPU。
  • 跨平台:支援 Linux、Windows、macOS、FreeBSD、Solaris 等 20+ 作業系統。
  • 豐富生態:提供 C、Java、Python、PHP、Go、Node.js 等主流語言連接器。
  • 儲存引擎靈活:InnoDB (事務/外鍵)、MyISAM (唯讀/全文)、Memory、NDB Cluster 等。
  • 編碼友善:原生支援 utf8mb4、gb2312、big5、shift_jis 等字元集。

Linux 環境安裝實戰 (CentOS/RHEL 為例)

方法一:RPM 離線安裝 (解決依賴地獄)

# 1. 檢查現有安裝
rpm -qa | grep -i mysql

# 2. 掛載光碟/ISO,進入 Packages 目錄
cd /mnt/Packages

# 3. 依序安裝依賴套件 (關鍵順序)
rpm -ivh perl-DBD-MySQL-*.rpm
rpm -ivh mysql-community-client-*.rpm
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-server-*.rpm

# 4. 驗證安裝
rpm -ql mysql-community-server | head -20

核心原則:先裝共用庫與客戶端,再裝伺服器端;缺什麼補什麼,不要強制 --nodeps。

方法二:YUM 在線安裝 (推薦生產環境)

# 1. 配置官方 YUM 倉庫
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
rpm -ivh mysql80-community-release-el7-5.noarch.rpm

# 2. 選擇版本 (預設啟用 8.0)
yum repolist enabled | grep mysql

# 3. 一鍵安裝
yum install -y mysql-community-server

# 4. 啟動並設定開機自啟
systemctl start mysqld
systemctl enable mysqld

服務管理與安全初始化

systemd 服務控制

systemctl status mysqld      # 查看狀態
systemctl stop mysqld        # 停止
systemctl restart mysqld     # 重啟
systemctl enable mysqld      # 開機自啟

首次登入與 Root 密碼重置

# 1. 獲取臨時密碼 (MySQL 5.7+)
grep 'temporary password' /var/log/mysqld.log

# 2. 首次登入並修改密碼
mysql -uroot -p'臨時密碼'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
FLUSH PRIVILEGES;

密碼策略:預設啟用 validate_password 元件,需滿足長度、大小寫、數字、特殊字元要求。

關鍵配置檔優化 (/etc/my.cnf)

[mysqld]
# 基礎路徑
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid

# 字元集 (務必 utf8mb4)
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# InnoDB 核心參數
innodb_buffer_pool_size=4G        # 實體記憶體 60-80%
innodb_log_file_size=512M
innodb_flush_log_at_trx_commit=1  # ACID 保證
innodb_file_per_table=ON

# 連接與效能
max_connections=1000
thread_cache_size=100
table_open_cache=4000
query_cache_type=OFF              # MySQL 8.0 已移除
slow_query_log=ON
long_query_time=1

# 二進位日誌 (主從/備份必備)
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7
server-id=1

phpMyAdmin 部署快速入門

# 1. 安裝 PHP 擴展
yum install -y php-mysqlnd php-mbstring php-json php-session

# 2. 下載解壓
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
tar -xzf phpMyAdmin-*.tar.gz -C /var/www/html/
mv /var/www/html/phpMyAdmin-* /var/www/html/phpmyadmin

# 3. 配置權限
chown -R apache:apache /var/www/html/phpmyadmin
chmod 755 /var/www/html/phpmyadmin

# 4. 建立配置儲存資料庫
mysql -uroot -p < /var/www/html/phpmyadmin/sql/create_tables.sql

常見問題排查清單

現象可能原因解決方向
Can't connect to local MySQL server服務未啟動 / socket 路徑錯誤systemctl status mysqld; 檢查 my.cnf socket 參數
Access denied for user 'root'@'localhost'密碼錯誤 / 權限表損壞跳過授權表啟動重置密碼
InnoDB: mmap failed記憶體不足 / buffer_pool 過大調整 innodb_buffer_pool_size
Table 'performance_schema.xxx' doesn't exist版本升級未執行 mysql_upgrade執行 mysql_upgrade -uroot -p

掌握標準化安裝流程、核心參數調優與安全基線配置,是構建穩定高效 MySQL 服務的基石。建議將安裝腳本化 (Ansible/Shell) 納入基礎設施即代碼體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved