首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL RPM 安裝與目錄結構詳解:yum 安裝、配置文件、數據目錄、日誌、協字文件

     編輯:MySQL 綜合教學

MySQL RPM/YUM 安裝全流程與目錄結構深度解析

RPM/YUM 安裝最簡單、自動解決依賴、自動生成系統服務、適用於標準化部署。本文以 CentOS 7 + MySQL 5.7 為例。

一、安裝前檢查與執行

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

# 查看可用版本
yum list | grep mysql

# 安裝官方 YUM 源(獲取最新版)
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

# 安裝服務端/客戶端/開發庫
yum install -y mysql-community-server mysql-community-client mysql-community-devel

# 或指定版本
yum install -y mysql-community-server-5.7.44

二、服務管理與初始化

# 啟動/停止/重啟
systemctl start|stop|restart mysqld

# 開機自啟
systemctl enable mysqld

# 首次啟動:生成隨機 root 密碼(5.7+)
grep 'temporary password' /var/log/mysqld.log
# 登錄修改密碼
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';

三、核心目錄結構詳細解析

路徑內容說明
/etc/my.cnf主配置文件唯一讀取配置,包含 [mysqld][client][mysql] 等段
/var/lib/mysql/數據目錄核心數據存放,需備份保護
/var/lib/mysql/ibdata1InnoDB 共享表空間存儲數據字典、Undo Log、雙寫緩衝、插入緩衝
/var/lib/mysql/ib_logfile0/1Redo Log循環寫入,崩潰恢復關鍵,大小由 innodb_log_file_size 決定
/var/lib/mysql/mysql.sockUnix Socket本地連接通信端點,PHP/本地客戶端默認使用
/var/lib/mysql/*.pid進程 PID 文件啟動時創建,停止時刪除,防止重複啟動
/var/lib/mysql/db_name/庫目錄每庫一目錄,含 .frm/.ibd 等文件
/var/log/mysqld.log錯誤日誌啟動/關閉/錯誤/警告信息,排查首選
/usr/share/mysql/字符集/協譯/錯誤信息/樣例配置mysqld --help --verbose 可見默認值來源
/usr/bin/客戶端工具mysql, mysqldump, mysqladmin, mysqlbinlog 等
/usr/lib64/mysql/插件/共享庫存儲引擎、認證插件、半同步複製插件等

四、表文件結構 (InnoDB file_per_table=ON)

db_name/
├── tbl_name.frm      # 表定義(5.7 及之前,8.0 移至數據字典)
├── tbl_name.ibd      # 獨立表空間:數據 + 索引(B+樹)
└── tbl_name.cfg      # 可選,用於表空間導入/導出 (FLUSH TABLES ... FOR EXPORT)

五、配置文件 /etc/my.cnf 核心參數模板

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# InnoDB
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_log_files_in_group=2
innodb_flush_log_at_trx_commit=2
innodb_file_per_table=1

# 連接
max_connections=1000
thread_cache_size=50

# 慢查詢
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log
long_query_time=1

# Binlog
log_bin=mysql-bin
binlog_format=ROW
expire_logs_days=7

六、卸載與清理

# YUM 卸載
yum remove mysql-community-server mysql-community-client mysql-community-libs mysql-community-common

# 徹底清理數據(謹慎!)
rm -rf /var/lib/mysql
rm -rf /var/log/mysqld.log
rm -f /etc/my.cnf

# RPM 強制卸載(不推薦)
rpm -qa | grep mysql
rpm -ev --nodeps package_name

RPM 安裝適合標準化運維,**生產環境建議鎖定版本**(yum versionlock),避免 yum update 導致非預期升級。大規模部署請使用 Ansible/SaltStack 統一分發配置與版本。

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