开发自动化脚本一键安装MySQL数据库

环境:

[root@localhost ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

[root@localhost ~]# uname -m

x86_64

 

脚本:

 

[codesyntax lang=”text” lines=”no”]

#!/bin/bash

#created by teddylu on 2015-7-7

#used for mysql auto installation



MySQl_Soft_Dir="/soft"

MySQL_Version=5.5.44



#Source function library

. /etc/init.d/functions

#install related soft

yum install -y wget gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake bison



echo "-------step1:add mysql account-------"

groupadd mysql

useradd -s /sbin/nologin -g mysql -M mysql





sleep 1



echo "-------step2:download mysql-------"

mkdir -p ${MySQl_Soft_Dir}

cd ${MySQl_Soft_Dir}

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.44.tar.gz



echo "-------step3:install mysql-------"

cd ${MySQl_Soft_Dir}

tar zxf mysql-5.5.44.tar.gz

cd mysql-5.5.44



cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data

if [ $? -ne 0 ];then

?? action "mysql configure" /bin/false

?? exit 1

fi



make

if [ $? -ne 0 ];then

?? action "mysql make" /bin/false

?? exit 1

fi



make install

if [ $? -ne 0 ];then

?? action "mysql make install" /bin/false

?? exit 1

fi



action "MySQL is installed OK!!!" /bin/true



#setup permission of the mysql and mysql config file

chmod -R 755 /usr/local/mysql/

chown -R mysql.mysql /usr/local/mysql/

cp support-files/my-large.cnf /etc/my.cnf



# initialize mysql

/usr/local/mysql/scripts/mysql_install_db \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data \

--user=mysql



#setup mysql startup script

cp /soft/mysql-5.5.44/support-files/mysql.server /etc/init.d/mysqld

chmod 700 /etc/init.d/mysqld



#setup mysql global variable path

echo 'export PATH=$PATH:/usr/local/mysql/bin'>>/etc/profile

source /etc/profile



#setup the passwd for mysql root

pass1=`openssl rand 6 -base64`

echo "happy.${pass1}"

echo "mysql-pass=happy.${pass1}" && >> /root/pass.txt

/etc/init.d/mysqld start

mysqladmin -u root password "happy.${pass1}"



#setup mysql start when system start

chkconfig --add mysqld

chkconfig mysqld on



#restart mysql

/etc/init.d/mysqld restart

[/codesyntax]

开发自动化脚本一键安装MySQL数据库
Scroll to top