MySQL 8 安装脚本

自记录 MySQL 8 安装脚本,已验证安装成功,慎用。

#/bin/bash


echo "" && read -p "请输入安装包路径:" src_path
for i in `seq 2`
do
	if [ ! -f $src_path ];then
		echo ""
		read -p "文件不存在,请重新输入:" src_path
	fi
	if [ $i -eq 2 ] && [ ! -f $src_path ] ;then
		echo -e "\n错误:请确认安装包路径后重新执行安装脚本。\n"
		exit 1
	fi
done	
	

echo ""	 && read -p "请输入mysql安装路径:" base_path
if [ ! -d $base_path ];then
	echo -e "\n错误:$base_path 不是一个目录,请确认后重新执行安装脚本。\n" 
	exit 1
fi
if [ -d $base_path ] && [ "`ls -A $base_path`" != "" ];then
	echo -e "\n错误:$base_path 不是一个空的目录,请确认后重新执行安装脚本。\n"
	exit 1
fi

echo -e "\n开始安装,请稍等..."
tar xf $src_path
pack_name=$(echo $src_path | awk -F '/' '{print $NF}')
mv ${pack_name%%.tar*}/* ${base_path}/
useradd mysql &> /dev/null
chown -R mysql.mysql $base_path

#生成my.cnf
cat > /etc/my.cnf << EOF 
[mysqld]
user=mysql
basedir=$base_path
datadir=${base_path}/data
port=3306

character_set_server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password

init_connect='SET collation_connection=utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake


[mysql]
default-character-set=utf8mb4


[client]
port=3306
default-character-set=utf8mb4

EOF


#初始化安装
cd ${base_path}/bin && ./mysqld --initialize
if [ $? -ne 0 ];then
	echo -e "\n错误:安装异常,请检查系统环境。\n"
	exit 1
fi

cd ../ && cp -a ./support-files/mysql.server /etc/init.d/mysql && chmod +x /etc/init.d/mysql && chkconfig --add mysql
echo -e "\n正在启动 mysql..."
sleep 3
service mysql start
if [ $? -ne 0 ];then
	echo -e "\nmysql 启动失败,请检查日志。后续请手动启动服务并修改初始化密码。"
	exit 1
fi

cp /etc/profile{,-bak} && echo -e "\n\n#MYSQL\nMYSQL_HOME=$base_path\nPATH=\$PATH:\$MYSQL_HOME/bin" >> /etc/profile
source /etc/profile

echo "" && read -p "请输入初始化密码:" init_pwd
echo "" && read -p "请输入新密码:" new_pwd

sql(){
mysql -uroot -p$init_pwd --connect-expired-password << EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$new_pwd';
flush privileges;
EOF
}
sql &> /dev/null
if [ $? -eq 0 ];then
	echo -e "\n密码修改成功。\nroot@localhost 连接新密码为:$new_pwd"
else
	echo -e "\n密码修改失败,请后续手动修改"
fi

echo -e "\nmysql安装启动完成,请输入 'mysql -uroot -p' ,键入密码连接数据库。"

请多指正,感谢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值