mysql 自动 安装 shell脚本

8 篇文章 0 订阅

#安装必要的依赖
yum install install make cmake gcc g++ bison libncurses5-dev
#定义下载压缩包 存放路径
soft_path=/data/soft/




if [! -d $soft_path ];then
                            mkdir -p /data/soft/
                        fi
main_path=/data/mysql/  
install_name=mysql-5.6.19.tar.gz 
install_path=/usr/local/mysql/


cd $soft_path
wget http://downloads.mysql.com/archives/get/file/mysql-5.6.19.tar.gz
env_fun() #环境  
{  
echo "-------检测本机环境,请稍等-------"  
username=`cat /etc/passwd|grep mysql|cut -c 1-5`  
        if [ $username = "mysql" ];then  
                echo "用户检测:mysql已存在"  
                return 10  
        else  
                echo "用户检测:mysql用户不存在,添加"  
                groupadd mysql  
                useradd mysql -g mysql  
                return 12  
        fi  
}  
#判断mysql是否安装(rpm、source)  
check_fun()  
{  
rpm_name=`rpm -aq |grep mysql-server`  
        if [ ! $rpm_name ];then  
                echo "开始检测源码包是否安装,请稍等......"  
                        if [ -d $install_path ];then  
                                echo "源码:$install_path目录已存在,退出本次安装."  
                                exit 0  
                        else  
                                echo "本机未安装任何mysql程序,将为您开始安装$install_name.请稍等......"  
                                install_fun  
                        fi  
  
        else  
                echo -n "rpm mysql已安装,是否删除?[yes|no]"  
                read select  
                        if [ $select = yes ];then  
                                rpm -ev $rpm_name --nodeps  
                                rm -rf /var/log/mysqld.log  
                                check_fun  
                        else  
                                exit 0  
                        fi  
        fi  
}  
install_fun() #安装函数  
{  
cd $soft_path  
echo "正在解压,请稍等......"  
tar zxvf $install_name  
echo "建立相应目录"  
echo "mkdir -p /usr/local/mysql/"  
mkdir -p /usr/local/mysql/  
echo "mkdir -p /usr/local/mysql/data/"  
mkdir -p /usr/local/mysql/data/  
cd mysql-5.6.19
#./configure --prefix=/usr/local/mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=latin1 --with-extra-charset=utf8,gbk --with-innodb --with-mysqld-user=mysql --without-embedded-server --with-server-sufix=community --with-unix-socket-path=/usr/local/mysql/sock/mysql.sock --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-plugins=partition,heap,innobase,myisam,myisammrg,csv 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/usr/local/mysql/data  -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306
make -j `cat /proc/cpuinfo | grep 'model name' | wc -l ` && make install
echo "chown -R mysql:mysql /usr/local/mysql/"  
chown -R mysql:mysql /usr/local/mysql/  
#配置  
###################################### create data file ##################################################### 
  /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/mysql.pid


 ####################################### create my.cnf profile ##################################################### 
  
echo " 
[mysqld]
datadir=/usr/local/mysql/data
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


skip-name-resolve
max_connections = 1000
max_allowed_packet = 20971520
explicit_defaults_for_timestamp=true
log-bin=/usr/local/mysql/binlog/mysql-bin.log
server-id=1
slave_skip_errors = 1062
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
long_query_time = 2
slow_query_log = on
slow_query_log_file=/usr/local/mysql/data/mysql-slow.log






[mysqld_safe]
log-error=/usr/local/mysql/error_mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
  
" > /usr/local/mysql/my.cnf 
}  
main()  
{  
echo "#***********************************#"  
echo "# 欢迎使用mysql安装脚本 #"  
echo "# Copyright 2017 by zhangyongchao #"  
echo "#***********************************#"  
sleep 3  
#开始执行,调用检测函数  
env_fun  
re=$?  
if [ re = 10 ];then  
        check_fun  
else  
        check_fun  
fi 
############################### start MySQL Server ############################################# 
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start
/usr/local/mysql/bin/mysql -uroot
SET PASSWORD = PASSWORD('123456');
############################### try use MySQL Server ############################################# 
/usr/local/mysql/bin/mysql -uroot -p123456  -e "show databases;"
}  
main  
exit 0


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值