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

CentOS 5.2 編譯安裝 MySQL 5.1.31 完整筆記

     編輯:MySQL 資料庫相關知識

環境與下載

OS: CentOS 5.2
MySQL: 5.1.31 (GA)
wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.1/mysql-5.1.31.tar.gz

編譯參數詳解

./configure \
  --prefix=/usr/local/mysql \
  --enable-assembler \
  --with-extra-charsets=complex \
  --enable-thread-safe-client \
  --with-big-tables \
  --with-plugins=partition,innobase,myisam,ndbcluster,blackhole \
  --with-charset=utf8 \
  --with-readline \
  --with-ssl \
  --with-embedded-server \
  --enable-local-infile
make && make install

關鍵點:啟用 Partition、InnoDB、NDB Cluster 等插件;預設字符集 UTF-8;支援大表、SSL、嵌入式伺服器。

動態庫載入

echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig -v | grep mysql
# 輸出 libmysqlclient.so.16 等即成功

用戶與權限

useradd -s /sbin/nologin -c 'mysql user' mysql
chown -R mysql.mysql /usr/local/mysql

配置檔部署(基於 my-large.cnf)

cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf

/etc/my.cnf 核心段落

[client]
port = 3306
socket = /home/mysql/mysql.sock

[mysqld]
port = 3306
socket = /home/mysql/mysql.sock
datadir = /home/mysql
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 16M
thread_concurrency = 8

log-bin = /home/mysql/mysql-bin
binlog-do-db = gamedb
binlog_format = mixed

log-error = /home/mysql/error.log
pid-file = /home/mysql/mysql.pid
server-id = 10

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

初始化與啟動

/usr/local/mysql/bin/mysql_install_db
chown -R mysql.mysql /home/mysql

# 建立系統鏈接
cd /usr/local/bin && ln -s /usr/local/mysql/bin/* .
cd /usr/local/libexec && ln -s /usr/local/mysql/libexec/* .
cd /usr/share/man/man1 && ln -s /usr/local/mysql/share/man/man1/* .
cd /usr/share/man/man8 && ln -s /usr/local/mysql/share/man/man8/* .

# 註冊服務
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

# 啟動
service mysqld start
# 或 mysqld_safe &

mysql_secure_installation 交互式安全加固

  1. 設定 root 密碼
  2. 移除匿名用戶
  3. 禁止 root 遠程登入
  4. 刪除 test 資料庫
  5. 重新載入權限表

全程按提示輸入 Y 即可。

驗證數據目錄檔案

ls -l /home/mysql/
# 包含 ibdata1, ib_logfile*, mysql-bin.*, mysql.sock, mysql.pid, error.log 等
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved