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

Ubuntu 系統下編譯安裝 MySQL 5.0 完整步驟

     編輯:MySQL 綜合教學

雖然 Ubuntu 提供 apt-get install mysql-server,但特定版本需求、自訂編譯參數或學習目的,仍需掌握原始碼編譯安裝流程。本文以 MySQL 5.0.40 為例,記錄依賴套件安裝、編譯配置、部署與驗證。

1. 安裝編譯工具鏈與依賴庫


sudo apt-get update
sudo apt-get install g++ gcc make automake perl
sudo apt-get install build-essential libncurses5-dev libssl-dev
# 注意:kdelibs4-dev 非必要,僅 GUI 工具需求

2. 建立 mysql 使用者與目錄


sudo groupadd mysql
sudo useradd -g mysql -s /bin/bash -d /usr/local/mysql mysql

3. 解壓、配置、編譯、安裝


tar -zxvf mysql-5.0.40.tar.gz
cd mysql-5.0.40

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

make
sudo make install

4. 部署配置檔、初始化資料目錄、設定權限


sudo cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
sudo chown -R mysql:mysql .
sudo bin/mysql_install_db --user=mysql
sudo chown -R root .
sudo chown -R mysql var

5. 啟動服務與驗證


sudo bin/mysqld_safe --user=mysql &
# 等待幾秒
bin/mysql -u root -p
# 密碼為空,直接 Enter
mysql> SHOW DATABASES;

6. 設定開機自啟 (Systemd)


sudo tee /etc/systemd/system/mysql.service <<'EOF'
[Unit]
Description=MySQL Community Server
After=network.target

[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --user=mysql
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
PIDFile=/usr/local/mysql/var/mysqld.pid
TimeoutSec=300

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable mysql
sudo systemctl start mysql

7. 常見問題

  • 缺少 libncurses:sudo apt-get install libncurses5-dev
  • 編譯錯誤:make clean 後重新 ./configure。
  • Socket 找不到:ln -s /usr/local/mysql/var/mysql.sock /tmp/mysql.sock 或在 my.cnf 指定 socket=/usr/local/mysql/var/mysql.sock。

小結

編譯安裝可完全控制版本、字元集、儲存引擎、安裝路徑與優化參數。生產環境若無特殊需求,建議優先使用發行版套件 (apt/yum) 或官方 APT/YUM Repository,以獲得安全更新與依賴管理便利性。

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