二进制安装mysql的shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制安装mysql的shell脚本相关的知识,希望对你有一定的参考价值。

配合文档看,挺简单的。

#!/bin/bash

###2016-3-23

###version 1.0



####tishi yonghu

cat<< AA

you must mv the mysql_package to /root/tools/ .

AA


sleep 2


###define var

tools_dir="/root/tools"

package_name="`cd $tools_dir && ls mysql-*-linux*`"

version_num="`cd $tools_dir && ls mysql*linux* -d | awk -F"-" ‘{print $2}‘`"

install_path="/application/mysql$version_num"


####test if have a mysql user

id mysql &>/dev/null

[ $? -ne 0 ] && useradd mysql -s /sbin/login -M && echo "mysql_user ok." || echo "mysql_user ok."


###test if have a install dir.

[ ! -d $install_path ] && mkdir -p $install_path && echo "install_dir ok." || ( echo "$install_path is exsit.";exit 1 )


###tar and mv mysql_package 

cd $tools_dir && tar xf $package_name 

dir_name="`ls mysql*x86_64 -d`"

mv ${dir_name}/* $install_path && sleep 7 && rm -rf ${dir_name} && echo "tar and mv ok." ||  exit 1


###ln dir and dir

ln -s ${install_path}/ /application/mysql  && echo "ln dir ok." || exit 1


###chown dir

chown -R mysql.mysql /application/mysql/ && echo "chwon dir ok." || exit 1


###init mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql &>/dev/null

[ $? -eq 0 ] && echo "init ok." || exit 1




###cp my-cnf

[ -f /etc/my.cnf ] && mv /etc/my.cnf /etc/my.cnf.bak 

cp /application/mysql/support-files/my-innodb-heavy-4G.cnf /etc/my.cnf

[ $? -eq 0 ] && echo "cp my.cnf ok." || exit 1



###mysql

cp /application/mysql/bin/mysqld_safe /application/mysql/bin/mysqld_safe.bak

[ $? -ne 0 ] && exit 1


sed -i ‘s#/usr/local/mysql#/application/mysql#g‘ /application/mysql/bin/mysqld_safe

[ $? -ne 0 ] && exit 1


grep ‘PATH="/application/mysql/bin:$PATH"‘ /etc/profile &>/dev/null

[ $? -ne 0 ] && echo ‘PATH="/application/mysql/bin:$PATH"‘ >> /etc/profile && source /etc/profile || echo "path ok."

[ $? -ne 0 ] && exit 1


#/application/mysql/bin/mysqld_safe & >/dev/null 2>&1

#[ $? -ne 0 ] && exit 1


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

[ $? -ne 0 ] && exit 1


sed -i ‘s#/usr/local/mysql#/application/mysql#g‘ /etc/init.d/mysqld

[ $? -ne 0 ] && exit 1


chmod +x /etc/init.d/mysqld

[ $? -ne 0 ] && exit 1


chkconfig --add mysqld

[ $? -ne 0 ] && exit 1


grep ‘/etc/init.d/mysqld start‘ /etc/rc.local &>/dev/null

[ $? -ne 0 ] && echo ‘/etc/init.d/mysqld start‘ >> /etc/rc.local

[ $? -ne 0 ] && exit 1



#/application/mysql/bin/mysqladmin -uroot password "123456"

#[ $? -ne 0 ] && exit 1

#/application/mysql/binmysql -uroot -p123456

#[ $? -ne 0 ] && exit 1




############done

echo "now you can use mysql,thanks for your wait." 


本文出自 “10536390” 博客,请务必保留此出处http://10546390.blog.51cto.com/10536390/1754258

以上是关于二进制安装mysql的shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

二进制安装mysql的shell脚本

二进制安装MySQL8.0.25的Shell脚本

Linux基础服务二进制一键安装shell脚本

MySQL5.6的Linux安装之二进制安装

Shell脚本:利用sed打包生成二进制部署安装脚本

mysql主从搭建(二进制脚本安装)