MySQL 5.5.21源码编译


最近开始学习php,很都书籍里都是mysql,于是也把 mysql部署出来了,其实一个不同就是发现mysql转到cmake 平台下了 ... 那下面分享出我的脚本 ...

  1. echo "========================================================================="  
  2. echo "mysql install shell script for CentOS/RadHat Written by Qzi"  
  3. echo "creatred in 2012/3/5"  
  4. echo "last modified in 2012/3/6"  
  5. echo "Email : hotseason007@gmail.com"  
  6. echo "========================================================================="  
  7. echo "========================================================================="  
  8. echo "MySQL Version: 5.5.21"  
  9. echo "========================================================================="  
  10. o "============================mysql install=================================="  
  11. LNPP_ROOT=/tmp/lnpp/lnpp-0.05  
  12. MYSQL_VERSION=mysql-5.5.21  
  13. MYSQL_ROOT=$LNPP_ROOT/mysql/$MYSQL_VERSION  
  14.   
  15. if [ -d $MYSQL_VERSION.tar.gz ]; then  
  16.     echo "$MYSQL_VERSION.tar.gz is [found]"  
  17.     else  
  18. #   wget -c http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.21.tar.gz   
  19. echo ""  
  20. fi  
  21.   
  22. if [ -d cmake-2.8.7.tar.gz ]; then  
  23.     echo "cmake-2.8.7.tar.gz is [found]"  
  24.     else  
  25. #   wget -c http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz   
  26. echo ""  
  27. fi  
  28.   
  29.   
  30. mkdir -p $LNPP_ROOT/cmake/cmake-2.8.7  
  31. tar -zxvf cmake-2.8.7.tar.gz  
  32. cd cmake-2.8.7  
  33. ./bootstrap  --prefix=$LNPP_ROOT/cmake/cmake-2.8.7  
  34. make   
  35. make install   
  36. cd ../  
  37.   
  38. mkdir -p $MYSQL_ROOT/etc  
  39. mkdir -p $MYSQL_ROOT/data  
  40. tar -zxvf $MYSQL_VERSION.tar.gz  
  41. cd $MYSQL_VERSION  
  42. $LNPP_ROOT/cmake/cmake-2.8.7/bin/cmake \  
  43.         -DCMAKE_INSTALL_PREFIX=$MYSQL_ROOT \  
  44.         -DMYSQL_DATADIR=$MYSQL_ROOT/data \  
  45.         -DSYSCONFDIR=$MYSQL_ROOT/etc \  
  46.         -DWITH_MYISAM_STORAGE_ENGINE=1 \  
  47.         -DWITH_INNOBASE_STORAGE_ENGINE=1 \  
  48.         -DWITH_ARCHIVE_STORAGE_ENGINE=1 \  
  49.         -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \  
  50.         -DENABLED_LOCAL_INFILE=1 \  
  51.         -DDEFAULT_CHARSET=utf8 \  
  52.         -DDEFAULT_COLLATION=utf8_general_ci \  
  53.         -DEXTRA_CHARSETS=all \  
  54.         #-DMYSQL_USER=mysql  
  55.         -DMYSQL_TCP_PORT=3306  
  56. make  
  57. make install  
  58.   
  59. if [ $(id -nu mysql) = "mysql" ]; then  
  60.   echo "user mysql is found ... "  
  61.   else  
  62.   echo "creating the user called 'mysql'"  
  63.   su - -c "useradd -M mysql"  
  64. fi  
  65.   
  66. cp support-files/my-small.cnf $MYSQL_ROOT/etc/my.cnf  
  67. chmod 755 $MYSQL_ROOT/scripts/mysql_install_db  
  68. $MYSQL_ROOT/scripts/mysql_install_db --user=mysql --basedir=$MYSQL_ROOT --datadir=$MYSQL_ROOT/data  
  69. #chmod +x /etc/init.d/mysqld  
  70. #cp support-files/mysql.server /etc/init.d/mysqld  
  71.   
  72. echo "============================mysql install=================================="  

配置:

#vim $MYSQL_ROOT/etc/my.cnf

[mysqld]

basedir=/tmp/lnpp/lnpp-0.05/mysql/mysql-5.5.21

启动

#$MYSQL_ROOT/support-files/mysql.server start

$MYSQL_ROOT/bin/mysqld_safe --user=mysql --basedir=$MYSQL_ROOT --datadir=$MYSQL_ROOT/data

关闭用

killall mysqld

php 在编译进mysql 支持的时候加入如下选项 :

--with-mysql=Dir

--with-pdo-mysql=Dir

相关内容