shellスクリプトシリーズ:mysql 5をワンタッチでインストールします.6


#!/bin/bash
#     mysql5.6

#       (  ):mysql         
#   :         ,    ,    ,    ,      


MYSQL_INSTALL_DIR=/lamp/mysql  # mysql    
IS_CINTINUE='y';

#   mysql
install_mysql() {
	read -p "    ?【y/n】" IS_CINTINUE
	if [[ $IS_CINTINUE == 'y' ]]; then
		yum install -y wget && wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.29.tar.gz;
		cp mysql-5.6.29.tar.gz $MYSQL_INSTALL_DIR
	else
		echo "         !";
		exit;
	fi
}

#         
cd ~
echo "======>    $MYSQL_INSTALL_DIR        <======";
if [ -d $MYSQL_INSTALL_DIR ]; then 
	echo "======> success!       ! <======";
else
	echo "======> warning!      ,   ! <======";
	mkdir -p $MYSQL_INSTALL_DIR
fi

if [ $# != 0 ]; then
	if [ -f $1 ]; then
		echo "======>              <======";
		cp $1 $MYSQL_INSTALL_DIR
		if [ $? -eq 0 ]; then
			echo "======>     ! <======";
			sleep 2s
		else
			echo "======>     ! <======";
			install_mysql
			exit;
		fi
	else
		echo "======> error!       <======";
		install_mysql
		
	fi
else
	install_mysql
fi


echo "======>     ! <======";
yum -y install gcc make cmake ncurses-devel libxml2-devel libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel
echo "======>      <======";
cd $MYSQL_INSTALL_DIR && tar -zxvf *.tar.gz
if [ $? -eq 0 ];then
	echo "======>     ! <======";
	sleep 2s
	cd mysql-5.6.29
	echo "======>        <======";
	cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
	-DMYSQL_DATADIR=/usr/local/mysql/data \
	-DSYSCONFDIR=/etc \
	-DWITH_MYISAM_STORAGE_ENGINE=1 \
	-DWITH_INNOBASE_STORAGE_ENGINE=1 \
	-DWITH_MEMORY_STORAGE_ENGINE=1 \
	-DWITH_READLINE=1 \
	-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
	-DMYSQL_TCP_PORT=3306 \
	-DENABLED_LOCAL_INFILE=1 \
	-DWITH_PARTITION_STORAGE_ENGINE=1 \
	-DEXTRA_CHARSETS=all \
	-DDEFAULT_CHARSET=utf8 \
	-DDEFAULT_COLLATION=utf8_general_ci 
	if [ $? -eq 0 ];then
		echo "======>     !      ,    20  ,    ...<======"; 
		sleep 2s
		make && make install 
		if [ $? -eq 0 ]; then
			cd ~
			echo "======>     !        ! <======";
			sleep 2s
			groupadd mysql && 
	  		useradd mysql -g mysql -M -s /sbin/nologin &&
	  		chown mysq:mysql /usr/local/mysql
	  	else
	  		echo "======>     ! <======";
	  		exit;
	  	fi
	else
		echo "======>     ! <======";
		exit;
	fi
else
	echo "======>     !<=======";
	exit;

fi


echo "======>     mysql <======";
cd /usr/local/mysql

echo "======>    mysql <======";
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
cp support-files/my-default.cnf  /etc/my.cnf

sleep 2s

echo "======>     mysql      <======";
sed -i 's/\# basedir \= ...../basedir \= \/usr\/local\/mysql/g' /etc/my.cnf
sed -i 's/\[mysqld\]/&
default-storage-engine=InnoDB/' /etc/my.cnf sed -i 's/\[mysqld\]/&
lower_case_table_names=1/' /etc/my.cnf echo "======> <======"; /bin/cp -rf support-files/mysql.server /etc/init.d/mysqld if [ $? -eq 0 ]; then echo "======> ! <======"; cd ~ service mysqld start sleep 2s service mysqld stop sleep 2s else echo "======> ! <======"; fi echo "======> ! <======"; chkconfig --add mysqld if [ $? -eq 0 ]; then echo "======> ! <======"; else echo "======> ! <======"; fi service mysqld stop echo "======> <======"; echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile source /etc/profile echo " mysql ======>"; service mysqld start cd /usr/local/mysql echo "======> root : “123456” <======"; ./bin/mysqladmin -u root password "123456" if [ $? -eq 0 ];then echo " root !"; else echo " root !"; fi

ワンタッチでmysql 5をインストールします.6で、デフォルトのパスワードとPOSTを設定します.ps:shellスクリプトの作成が粗く、個人用のみ!