ITPub博客

首页 > 数据库 > MySQL > MySQL各版本自动安装脚本(CentOS以及Debian)

MySQL各版本自动安装脚本(CentOS以及Debian)

原创 MySQL 作者:Kind0f 时间:2016-10-30 14:04:22 0 删除 编辑
描述:

    1 . 所有版本都是源码编译安装,根据需求设定编译参数
    2 . 简单的对源码包的获取,依赖包的安装,以及编译过程,用户的添加,环境变量的设置做了一个封装

cat auto_install_mysql.sh

点击(此处)折叠或打开

  1. #!/bin/bash

  2. ssh_host=192.168.71.56 #存储源码包的机器
  3. soft_dir=/var/www/init/mysql_dir #存储源码包的位置
  4. ssh_port=xxx    #存储机端口
  5. ssh_user=xxx    #存储机用户
  6. ssh_pwd=xxxxx   #存储机密码

  7. tran_rate=50000 #通过scp方式传输源码包到待安装机器,这里限速大小 单位bit

  8. os=debian       #设定系统类型debian 或者 centos
  9. version=5.0     #待安装mysql版本
  10. log_dir=./      #日志存储位置
  11. tmp_dir=/tmp    #临时目录

  12. function redirect_log {
  13.         mkdir -p $log_dir
  14.         log_file=$log_dir/`date +%Y-%m-$d`.log
  15.         exec 1> $log_file
  16.         exec 2> $log_file
  17. }

  18. function get_soft_kit {
  19.         echo "get soft"
  20.         if [ $os=='debian' ];then
  21.                 apt-get -y install sshpass
  22.         else
  23.                 yum -y install sshpass
  24.         fi
  25.         file=`sshpass -p $ssh_pwd ssh -p $ssh_port -o StrictHostKeyChecking=no $ssh_user@$ssh_host "ls $soft_dir | grep -i mysql | grep $version | grep tar.gz | head -1"`
  26.         echo "get $file"
  27.         sshpass -p $ssh_pwd scp -P $ssh_port -l $tran_rate -o StrictHostKeyChecking=no $ssh_user@$ssh_host:$soft_dir/$file $tmp_dir
  28. }

  29. function install_dep {
  30.         echo "install dep"
  31.         if [ $os=='debian' ];then
  32.         apt-get -y install cmake
  33.         apt-get -y install make
  34.         apt-get -y install gcc
  35.         apt-get -y install g++
  36.         apt-get -y install bison
  37.         apt-get -y install ncurses-dev
  38.         apt-get -y install libbison-dev
  39.         else
  40.         yum -y install make cmake gcc-c++ bison bison-devel ncurses-devel
  41.         fi

  42. }

  43. function install_soft_kit {
  44.         echo "install soft"
  45.     cd $tmp_dir
  46.     file=`ls | grep -i mysql | grep $version | grep tar.gz | head -1`
  47. echo $file
  48.     mkdir -p $tmp_dir/mysql_temp
  49.     tar -xzvf $tmp_dir/$file -C $tmp_dir/mysql_temp
  50.     cd $tmp_dir/mysql_temp
  51.     source_dir_name=`ls | head -1`
  52.     cd $source_dir_name
  53.     pwd
  54.     if [ $version == '5.0' ];then
  55.         ./configure --prefix=/usr/local/mysql
  56.         make && make install
  57.     elif [ $version == '5.7' ];then
  58.         cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_BOOST=./boost/boost_1_59_0
  59.         make && make install
  60.     else
  61.         cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  62.         make && make install
  63.     fi
  64. }

  65. function mysql_conf {
  66.     groupadd mysql
  67.     useradd -g mysql mysql
  68.     echo "MYSQL_HOME=/usr/local/mysql" >> /etc/profile
  69.     echo "PATH=\$PATH:\$MYSQL_HOME/bin:\$MYSQL_HOME/scripts" >> /etc/profile
  70. }

  71. #redirect_log
  72. get_soft_kit
  73. install_dep
  74. install_soft_kit
  75. mysql_conf
    关于192.168.71.56源码包如下:
    
    

    注意点:

    ① 5.7版本需要下载带boost包的源码包,如上图,由于5.7的编译要求cmake在2.8以上,故而该脚本适用于debian7.0以上的系统,centos同理
    ② 在5.5版本之后的编译安装都需要使用cmake ,脚本已做区分
    ③ 在公司各系统测试安装都可以成功。
    ④ 运行位置,在待安装mysql服务的机器上
    

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31385648/viewspace-2127326/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-08-17

  • 博文量
    39
  • 访问量
    48071