1、可自定义输入ROOT密码(发现从mysql的log-error日志里不见得能记录初始化密码,因此把输出文本保存下来/root/mysql-install.log,后期从中读取);
2、检查CentOS7自带的mariadb并卸载;
3、使用YUM安装了两个依赖,yum -y install numactl 和libaio;
4、my.cnf位置放在/usr/local/mysql/my.cnf,(配置文件水太深,需要好好研究)
5、执行完安装改掉密码后,CheckInstall{}之前,会停住,用Ctrl+c中断即可继续,希望有大神能告诉我原因。
废话不多说:
#!/bin/bash
######二进制自动安装数据库脚本root密码Root123456,将脚本和安装包放在/root目录即可###############
######程序目录/usr/local/mysql############
######数据目录软连接到/data/mysql############
######慢日志目录/data/mysql/slowlog############
mysql_version=5.7.25
mysql_tarfile="mysql-${mysql_version}-linux-glibc2.12-x86_64.tar.gz"
echo "################检查本机安装mysql的基本条件########################"
echo "检查mysql安装文件是否存在"
if [ ! -f "${mysql_tarfile}" ]; then
echo ${mysql_tarfile}
echo "no found ${mysql_tarfile},please check install file"
exit 1
else
echo "install file is ok!"
fi
echo "Checking user :"
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install"
exit 1
else
echo "user is root, this is ok!"
fi
if [ -d /data/mysql ]; then
echo "mysql datadir /data/mysql is exist! ,this is fail!"
exit 1
else
echo "mysql datadir /data/mysql is not exist,this is ok!"
fi
os_version=`cat /etc/redhat-release |awk -F '[ .]' '{print( $4)}'`
if [ "$os_version" = "7" ] || [ "$os_version" = "6" ]; then
echo "os version is el6 or el7, this is ok!"
else
echo "os version isnot el6 or el7, this is fail!"
exit 1
fi
#set mysql root password
echo "################设置MYSQL默认密码########################"
mysqlrootpwd="Root123456"
echo -e "Please input the root password of mysql:"
read -p "(Default password: Root123456):" mysqlrootpwd
if [ "$mysqlrootpwd" = "" ]; then
mysqlrootpwd="Root123456"
fi
echo "====================