之前Mysql的安装说明是针对Cmake的安装,前端时间整理出来一套线上的Mysql安装脚本,版本使用的是mysql-5.1.50.区别在于这次不是使用cmake,也用不上cmake。直接上脚本:

安装思路:基础组件安装---->主程序包准备---->管理帐号创建---->解压主程序包,编译,安装---->授权相关目录---->修改主配置文件---->启动服务---->测试

 
  1. #!/bin/bash 
  2. echo "正在安装Mysql基础组件包,请稍等!" 
  3. sleep 2 
  4. yum -y install gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel libtool* 
  5. df -h 
  6. echo "正在计算硬盘空间,请确认空间是否满足安装需求. 
  7.          是  请输入Y\y 
  8.          否      请输入N\n 
  9. read -p "请根据编号选择(Y\y or N\n).. " SERVER_ID 
  10. if [ $SERVER_ID == Y ] || [ $SERVER_ID == y ];then 
  11.         SERVER="是" 
  12. elif [ $SERVER_ID == N ] || [ $SERVER_ID == n ];then 
  13.         SERVER="Quit" 
  14.     exit 5 
  15. else 
  16.         exit 
  17. fi 
  18. sleep 2 
  19. echo "创建数据存放目录......" 
  20. mkdir -p /data/dbdata 
  21. sleep 2 
  22. if [ `grep "mysql" /etc/passwd | wc -l` -eq 0 ];then 
  23. echo "正在创建Mysql管理帐号......" 
  24. /usr/sbin/groupadd mysql 
  25. /usr/sbin/useradd -g mysql mysql 
  26. else 
  27. echo "Mysql管理帐号创建完成." 
  28. fi 
  29. sleep 2 
  30. ###################### 
  31. DOWNDIR=/usr/local/src 
  32. cd {$DOWNDIR} 
  33. tar xzvf mysql-5.1.50.tar.gz 
  34. cd mysql-5.1.50 
  35. echo "正在编译Mysql主程序包......" 
  36. ./configure '--prefix=/usr/local/mysql' \ 
  37. '--localstatedir=/data/dbdata/' \ 
  38. '--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock' \ 
  39. '--with-charset=utf8' \ 
  40. '--with-extra-charsets=complex' \ 
  41. '--with-pthread' \ 
  42. '--enable-thread-safe-client' \ 
  43. '--with-ssl' \ 
  44. '--with-client-ldflags=-all-static' \ 
  45. '--with-mysqld-ldflags=-all-static' \ 
  46. '--with-plugins=partition,federated,innobase,csv,blackhole,myisam,innodb_plugin,heap,archive' \ 
  47. '--enable-shared' \ 
  48. '--enable-assembler' 
  49.  
  50. if [ $? -ne 0 ];then 
  51. echo "编译失败,请检测组件包是否安装正确!" 
  52. exit 1 
  53. fi 
  54.  
  55. echo "正在安装Mysql主程序包,等候的时间可能有些久,您可以煮一杯咖啡." 
  56. make 
  57. if [ $? -ne 0 ];then 
  58. echo "编译失败,请检查主程序包是否正确......" 
  59. exit 1 
  60. fi 
  61.  
  62. make install 
  63.  
  64. echo "正在授权mysql用户及其相对应的目录." 
  65. chown -R mysql:mysql /usr/local/mysql 
  66. chown -R mysql:mysql /data/dbdata/ 
  67. sleep 2 
  68. echo "正在初始化数据库!" 
  69. /usr/local/mysql/bin/mysql_install_db --user=mysql 
  70.  
  71. sleep 2 
  72. echo "正在配置Mysql主配置文件!" 
  73. cp /usr/local/src/mysql-5.1.50/support-files/my-large.cnf /etc/my.cnf 
  74.  
  75. echo "正在设置Mysql服务并且允许Mysql开机自动启动. 
  76.          是  请输入Y\y 
  77.          否      请输入N\n 
  78. read -p "请根据编号选择(Y\y or N\n).. " SERVER_ID 
  79. if [ $SERVER_ID == Y ] || [ $SERVER_ID == y ];then 
  80.         SERVER="自动启动" 
  81. elif [ $SERVER_ID == N ] || [ $SERVER_ID == n ];then 
  82.         SERVER="Quit" 
  83.     exit 5 
  84. else 
  85.         exit 
  86. fi 
  87. sleep 2 
  88. cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld 
  89. chkconfig --add mysqld 
  90. chkconfig --level 2345 mysqld on 
  91.  
  92. echo "Mysql 正在启动中......" 
  93. /etc/rc.d/init.d/mysqld start 
  94. if [ $? -ne 0 ];then 
  95. echo "Mysql 启动失败,请端口或者服务已经生效!" 
  96. else 
  97. echo "Mysql 启动成功!" 
  98. fi 

 以上脚本直接可以使用,编译模块部分可以根据自己的实际需求进行变更。并不是添加使用的模块越多越好,适合于自己的才是最好的。