千家信息网

MySQL如何实现各版本自动安装脚本

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,这篇文章主要介绍MySQL如何实现各版本自动安装脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!描述:1 . 所有版本都是源码编译安装,根据需求设定编译参数2 . 简单的对源
千家信息网最后更新 2024年11月25日MySQL如何实现各版本自动安装脚本

这篇文章主要介绍MySQL如何实现各版本自动安装脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

描述:

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服务的机器上

以上是"MySQL如何实现各版本自动安装脚本"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0