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

Ubuntu 16.04 MySQL 5.6 二進制安裝完整指南

     編輯:MySQL 綜合教學

Ubuntu 16.04 MySQL 5.6 二進制安裝完整指南

二進制安裝(Generic Linux Binary)適用於需自定義安裝路徑、多版本共存或無系統包管理器的場景。本文記錄在 Ubuntu 上部署 MySQL 5.6.33 的標準流程。

1. 下載與解壓

# 下載二進制包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

# 解壓並移動至目標目錄
tar -xzf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

2. 建立資料目錄、日誌目錄與專用用戶

mkdir -p /mysql/data   # 資料目錄
mkdir -p /mysql/log    # 日誌目錄

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 目錄授權
chown -R mysql:mysql /mysql/
chown -R mysql:mysql /usr/local/mysql/

3. 建立配置檔 /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/mysql/data
port=3306
socket=/tmp/mysql.sock
pid-file=/mysql/data/mysql.pid
log-error=/mysql/log/error.log
slow_query_log=1
slow_query_log_file=/mysql/log/slow.log
long_query_time=2

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

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

[client]
default-character-set=utf8mb4
socket=/tmp/mysql.sock

注意:系統若存在其他 my.cnf(如 /etc/mysql/my.cnf),請備份或刪除,避免配置衝突。

4. 安裝依賴並初始化資料庫

# Ubuntu 安裝 libaio
apt-get update && apt-get install -y libaio1

# 初始化(MySQL 5.6 使用 mysql_install_db)
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql \
  --defaults-file=/etc/my.cnf \
  --basedir=/usr/local/mysql \
  --datadir=/mysql/data \
  --explicit_defaults_for_timestamp

# 再次確認目錄權限
chown -R mysql:mysql /mysql/ /usr/local/mysql/

5. 設定啟動腳本與環境變量

# 複製啟動腳本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

# 加入開機自啟
update-rc.d mysqld defaults

# 環境變量(方便直接使用 mysql、mysqldump 等命令)
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile

6. 啟動服務並設定 root 密碼

service mysqld start

# 初次登入無密碼
mysql -uroot -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YourStrongPassword'); FLUSH PRIVILEGES;"

# 測試連線
mysql -uroot -p -e "SHOW DATABASES;"

7. 常見問題排查

  • 啟動失敗檢查 error.log:tail -f /mysql/log/error.log
  • socket 找不到:確認 my.cnf 與 client 端 socket 路徑一致,或建立軟連結 ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
  • 權限問題:確保 /mysql/data、/mysql/log、/usr/local/mysql 皆為 mysql 用戶擁有。
  • 端口衝突:netstat -ntlp | grep 3306 檢查佔用進程。

二進制安裝雖步驟較多,但能完全掌控版本與路徑,適合生產環境標準化部署。建議配合 Ansible/Shell 腳本自動化上述流程。

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