二進制安裝(Generic Linux Binary)適用於需自定義安裝路徑、多版本共存或無系統包管理器的場景。本文記錄在 Ubuntu 上部署 MySQL 5.6.33 的標準流程。
# 下載二進制包 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
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/
[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),請備份或刪除,避免配置衝突。
# 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/
# 複製啟動腳本 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
service mysqld start
# 初次登入無密碼
mysql -uroot -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YourStrongPassword'); FLUSH PRIVILEGES;"
# 測試連線
mysql -uroot -p -e "SHOW DATABASES;"
tail -f /mysql/log/error.logln -s /tmp/mysql.sock /var/run/mysqld/mysqld.socknetstat -ntlp | grep 3306 檢查佔用進程。二進制安裝雖步驟較多,但能完全掌控版本與路徑,適合生產環境標準化部署。建議配合 Ansible/Shell 腳本自動化上述流程。