自動化安裝MySQL-5.6.27

來源:互聯網
上載者:User

標籤:mysql   install

#!/bin/bashMysql_Major_version="5.6"Mysql_Minin_version="27"Mysql_download_url="http://mirrors.sohu.com/mysql/MySQL-${Mysql_Major_version}/mysql-${Mysql_Major_version}.${Mysql_Minin_version}.tar.gz"Tools_download_dir="/home/tools"Mysql_install_dir="/app/mysql"Mysql_root_dir="/mydata"Mysql_data_dir="${Mysql_root_dir}/data"Mysql_bin_log_dir="${Mysql_root_dir}/bin_log"Mysql_error_log_dir="${Mysql_root_dir}/error_log"Mysql_relay_log_dir="${Mysql_root_dir}/relay_log"Mysql_user="mysql"Mysql_group="mysql"Mysql_cmake="cmake . -DCMAKE_INSTALL_PREFIX=${Mysql_install_dir}  -DMYSQL_DATADIR=${Mysql_data_dir}  -DMYSQL_UNIX_ADDR=${Mysql_root_dir}/mysql.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DEXTRA_CHARSETS=all  -DENABLED_LOCAL_INFILE=ON  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_FEDERATED_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1  -DWITH_FAST_MUTEXES=1  -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0"PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATH#****************************************************************************************************************************************************************************check_result(){  if [ $1 != 0 ];then    echo -e  "\e[1;31m ERROR!!!! <========Exit  install  mysql=======>   \e[0m"    exit 1   fi}#**************************************************************************************************************************************************************************root_or_not() {if [ "$UID" != 0 ];then  echo -e "\e[1;31m  ERROR, You are not root ,Please login in root to execule the scripts!  \e[0m"  exit 1else  echo -e  "\e[1;31m Good, You are root,and you can continue to install mysql! \e[0m"fi}#**************************************************************************************************************************************************************************install_or_not () {  read -p "Installed mysql,Press N to exit or  Press Y to continue: " INSTALL_Y_N  case $INSTALL_Y_N in  Y|y)            echo -e "\e[1;31m <=========Starting install  mysql=======>  \e[0m"             start_install  ;;  N|n)            echo -e  "\e[1;31m <=========Stop install  mysql=======>  \e[0m"             exit 0  ;;  *)              install_or_not  ;;  esac}#**************************************************************************************************************************************************************************check_user_group() {  echo "\e[1;44m <======Creating  mysql  user and group ======>  \e[0m"   check_user=`awk -F: ‘{a[$1]}END{ if("‘$Mysql_user‘" in a){print "yes"} else print "no"}‘  /etc/passwd`  check_group=`awk -F: ‘{a[$1]}END{ if("‘$Mysql_group‘" in a){print "yes"} else print "no"}‘  /etc/group`  if  [ "${check_user}"  = "yes" -a  "${check_group}" = "yes" ]; then      echo -e "\e[1;31m mysql  is  exists! \e[0m"  else      /usr/sbin/groupadd  mysql  &&  /usr/sbin/useradd -g mysql -M mysql   fi}#**************************************************************************************************************************************************************************download_mysql() {  echo -e "\e[1;44m Starting download mysql source tarball,Version is ${Mysql_Major_version}.${Mysql_Minin_version},DownLoad URL:http://mirrors.sohu.com \e[0m"  [ ! -d ${Tools_download_dir} ] &&  mkdir ${Tools_download_dir}  -p  cd ${Tools_download_dir}    yum  install   wget  -y  check_result $?  wget ${Mysql_download_url}  check_result $?}#**************************************************************************************************************************************************************************install_process() {yum -y install gcc gcc-c++  ncurses-devel bison  perl check_result $?echo -e "\e[1;44m mysql source tarball,create mysql  data_root directory  ${Mysql_root_dir} \e[0m"[ ! -d ${Mysql_data_dir} ]      &&  mkdir  ${Mysql_data_dir}  -p[ ! -d ${Mysql_bin_log_dir} ]   && mkdir ${Mysql_bin_log_dir}   -p[ ! -d ${Mysql_error_log_dir} ] && mkdir ${Mysql_error_log_dir}  -p[ ! -d ${Mysql_relay_log_dir} ] && mkdir ${Mysql_relay_log_dir}echo -e "\e[1;44m  Creating${Mysql_install_dir} \e[0m"[ ! -d ${Mysql_install_dir} ] && mkdir -p ${Mysql_install_dir}echo -e "\e[1;44m <======First,Download cmake =====> \e[0m"cd ${Tools_download_dir}  wget https://cmake.org/files/v3.4/cmake-3.4.0.tar.gzcheck_result $?if [ ! -f ${Tools_download_dir}/cmake-3.4.0.tar.gz ]  ;then  echo "\e[1;31m  cmake-3.4.0.tar.gz is not exist!! \e[0m"  exit 1fitar xf cmake-3.4.0.tar.gzcheck_result $?cd  cmake-3.4.0./configure  check_result $?gmakecheck_result $?     gmake  installcheck_result $? echo   -e  "\e[1;44m  cmake development tool is  installed ,Sencond:  starting install  mysql-${Mysql_Major_version}.${Mysql_Minin_version}.tar.gz \e[0m"if [ ! -f ${Tools_download_dir}/mysql-${Mysql_Major_version}.${Mysql_Minin_version}.tar.gz ] ; then  echo "\e[1;31m  mysql-${Mysql_Major_version}.${Mysql_Minin_version}.tar.gz is not exist!! \e[0m"  exit 1ficd  ${Tools_download_dir}   tar xf  mysql-${Mysql_Major_version}.${Mysql_Minin_version}.tar.gz   check_result $?cd  mysql-${Mysql_Major_version}.${Mysql_Minin_version}$Mysql_cmakecheck_result $?make    check_result $?make  installcheck_result $?}configure_env(){echo -e  "\e[1;44m  <==========Configure system Environment========>   \e[0m"/bin/cat  /etc/profile  | grep mysql  &&  result=echo $?  if [ "$result" != 0 ];then  echo "export PATH=${Mysql_install_dir}/bin:\$PATH"   >> /etc/profile  &&  source  /etc/profile  echo  -e "\e[1;31m  <=======Environment is OK.======>  \e[0m"else  echo -e "\e[1;31m  <=======Environment is OK,Please don‘t repeat configure it.======>  \e[0m" fi}configure_privilege(){  /bin/chown  -R  ${Mysql_user}.${Mysql_group}   ${Mysql_root_dir}  check_result $?  /bin/chmod  -R  1777 /tmp   }mysql_init(){  cd ${Mysql_install_dir}/scripts  ./mysql_install_db --basedir=${Mysql_install_dir}  --datadir=${Mysql_data_dir}  --user=${Mysql_user}  check_result $?}prepare_start_shell(){  cd  ${Mysql_install_dir}/support-files  check_result $?  /bin/cp  mysql.server  /etc/init.d/mysqld  check_result $?}configure_conf(){echo -e "\e[1;44m Confiugre my.cnf file \e[0m"/bin/cat   >/etc/my.cnf  << EOF[mysqld]datadir=/mydata/datasocket=/mydata/mysql.sockuser=mysqlsymbolic-links=0[mysqld_safe]log-error=/mydata/error_log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidEOFecho -e  "Configure file Finished"}start_mysql(){  /etc/init.d/mysqld start   check_result $?}#************************************************************************************************************************************************************************start_install() {  check_user_group  download_mysql  install_process  configure_env  configure_privilege  mysql_init  prepare_start_shell  configure_conf  start_mysql}#*************************************************************************************************************************************************************************root_or_notinstall_or_not

本文出自 “不求最好,只求更好” 部落格,請務必保留此出處http://yujianglei.blog.51cto.com/7215578/1725585

自動化安裝MySQL-5.6.27

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.