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
cp /usr/local/mysql/share/mysql/my-large.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 &
全程按提示輸入 Y 即可。
ls -l /home/mysql/ # 包含 ibdata1, ib_logfile*, mysql-bin.*, mysql.sock, mysql.pid, error.log 等