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

Linux 源碼編譯安裝 MySQL 5.1 完整步驟詳解

     編輯:MySQL 綜合教學

Linux 源碼編譯安裝 MySQL 5.1 完整步驟詳解

本文記錄在 Linux 環境下從源碼包編譯安裝 MySQL 5.1.72 的標準化流程,適用於需要自定義安裝路徑、字符集或優化參數的生產環境部署。

一、準備工作

1. 下載源碼包

wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/mysql-5.1.72.tar.gz

2. 檢查系統是否已安裝 MySQL

rpm -qa | grep mysql
# 若有輸出,建議先卸載:rpm -e --nodeps 包名

3. 安裝編譯依賴

# CentOS/RHEL 示例
yum -y install gcc gcc-c++ ncurses-devel cmake bison perl

二、解壓與編譯安裝

tar -zxvf mysql-5.1.72.tar.gz
cd mysql-5.1.72

./configure \
  --prefix=/usr/local/mysql \
  --with-charset=gbk \
  --with-extra-charsets=all \
  --enable-thread-safe-client \
  --enable-local-infile

make
make install

關鍵參數說明:

  • --prefix:安裝根目錄,建議統一規範路徑。
  • --with-charset:預設字符集,生產環境推薦 utf8mb4(需 5.5+ 版本支援)。
  • --enable-local-infile:啟用 LOAD DATA LOCAL INFILE 功能。

三、配置文件部署

MySQL 提供四種預設配置模板,根據服務器內存選擇:

# 以中型配置為例
cp support-files/my-medium.cnf /etc/my.cnf

常用模板對照:

模板文件適用內存
my-small.cnf≤ 64MB
my-medium.cnf128MB
my-large.cnf512MB
my-huge.cnf≥ 1GB

四、啟動腳本與開機自啟

cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on

五、初始化權限表

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql

六、調整目錄權限

chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql

七、啟動服務並驗證

/etc/rc.d/init.d/mysqld start

首次啟動會輸出初始化信息,關鍵提示:

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

八、檢查端口監聽

netstat -altnp | grep 3306
# 輸出應包含:tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 6946/mysqld

九、修改 root 密碼

mysqladmin -u root password 'shallnet'
# 或使用新版推薦方式:
# mysqladmin -u root -p password 'newpass'

十、驗證登入

mysql -u root -p
Enter password: shallnet
mysql> SHOW DATABASES;

常見問題排查

  • 編譯報錯:確認 gcc、ncurses-devel、cmake 已安裝。
  • 啟動失敗:查看 /usr/local/mysql/var/主機名.err 錯誤日誌,常見為端口衝突、權限不足、配置文件語法錯誤。
  • 中文亂碼:安裝時指定 --with-charset=utf8 或 5.5+ 使用 utf8mb4,並在 my.cnf 中設置 character-set-server=utf8mb4。

總結

源碼安裝雖步驟較多,但能完全掌控版本、編譯參數與部署路徑,是生產環境標準化部署的基礎技能。建議將上述步驟封裝為 Ansible Playbook 或 Shell 腳本,實現自動化交付。

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