shellスクリプトシリーズ:mysql 5をワンタッチでインストールします.6
4152 ワード
#!/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スクリプトの作成が粗く、個人用のみ!