首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Solaris 8 SPARC 64-bit 編譯安裝 MySQL 4.0.17 完整攻略

     編輯:MySQL 資料庫相關知識

編譯環境準備

  • 平台:Solaris 8 SPARC 64-bit
  • 編譯器:gcc 3.3.2
  • 必備套件:libtools、automake、autoconf、gcc 3.3.2、libncurses、ncurses 等

下載與解壓

wget https://www.mysql.com/mysql-4.0.17-sol8-sparc-64bit.tar.gz
tar zxvf mysql-4.0.17-sol8-sparc-64bit.tar.gz
cd mysql-4.0.17-sol8-sparc-64bit

環境變數與配置參數(關鍵)

# 環境變數設定
CC='gcc' CFLAGS='-DBIG_TABLES -DHAVE_MYSYS_NEW -m64'
CXX='gcc' CXXFLAGS='-DBIG_TABLES -DHAVE_MYSYS_NEW -m64'
LDFLAGS='-m64' ASFLAGS=''

# 完整 configure 參數(過長可能超過 OS 限制,需精簡)
./configure --prefix=/usr/local/mysql \
  --localstatedir=/usr/local/mysql/data \
  --libexecdir=/usr/local/mysql/bin \
  --with-comment="Official MySQL-max binary" \
  --with-extra-charsets=complex \
  --with-server-suffix=-max \
  --enable-thread-safe-client \
  --enable-local-infile \
  --enable-assembler \
  --with-named-z-libs=no \
  --with-named-curses-libs=-lcurses \
  --disable-shared \
  --with-berkeley-db \
  --with-raid \
  --with-embedded-server \
  --with-innodb \
  CC=gcc

實際使用的精簡配置

./configure --prefix=/usr/local/mysql \
  --localstatedir=/usr/local/mysql/data \
  --libexecdir=/usr/local/mysql/bin \
  --with-comment=Official \
  --with-extra-charsets=complex \
  CFLAGS=-DBIG_TABLES -DHAVE_MYSYS_NEW -m64 \
  CXXFLAGS=-DBIG_TABLES -DHAVE_MYSYS_NEW -m64 \
  --with-embedded-server \
  --with-innodb

關鍵點:未依上述配置常遇 libncurses.so.5 找不到導致編譯失敗。

編譯安裝與初始化

make
make install
./scripts/mysql_install_db
chown -R mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql

權限經驗:部分資料建議 chown -R root,但實測 chown -R mysql 可避免後續啟動權限問題。

啟動與驗證

/usr/local/mysql/bin/mysqld_safe &
ps -ef | grep mysql
# 出現 mysqld 進程即正常啟動

# 加入 PATH
export PATH=$PATH:/usr/local/mysql/bin

系統啟動腳本配置

cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
ln -s /etc/init.d/mysqld /etc/rc2.d/Kmysqld
ln -s /etc/init.d/mysqld /etc/rc2.d/Smysqld

修改 root 密碼

mysqladmin -u root -p password 'newpass'
# Enter password: (直接 Enter,初始無密碼)

寶貴經驗總結

  • 遇到問題大量搜尋網路資源是關鍵
  • 二進制發佈版有時與系統不兼容,源碼編譯反而能解決問題
  • 小技巧:下載編譯好版本,解壓執行 ./bin/mysqlbug,仔細閱讀輸出的配置提示,作為自己編譯參數參考
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved