mysql8.0.19自动化安装脚本

#!/bin/sh
. /etc/init.d/functions
#创建mysql用户
id mysql &> /dev/null || { useradd -r -d /data/mysql -s /sbin/nologin mysql ; action "创建用户成功"; }

#安装依赖包
yum install -q -y libaio perl-Data-Dumper libncurses* &> /dev/null

#创建mysql的家目录文件夹
mkdir -pv /data/mysql &> /dev/null && chown mysql:mysql  /data/mysql

#解压二进制程序
tar xf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz -C /usr/local

#将原文件创建为软链接
ln -sv /usr/local/mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql &> /dev/null
chown -R root:root /usr/local/mysql/

#环境变量
echo 'PATH=/usr/local/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

#准备配置文件
cat > /etc/my.cnf <<EOF
[mysqld]
datadir = /data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
port=3306 
socket=/data/mysql/mysql.sock
EOF

#创建数据库文件
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql

#服务启动文件
cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start >& /dev/null && action "mysql服务启动成功" || action "mysql服务启动失败"

#设置密码
MYSQL_OLDPASSWORD=`awk '/A temporary password/{print $NF}' /data/mysql/mysql.log`
MYSQL_ROOT_PASSWORD=123456
mysqladmin  -uroot -p$MYSQL_OLDPASSWORD password $MYSQL_ROOT_PASSWORD &>/dev/null && action "修改密码成功"  || action "修改密码失败":
posted @ 2021-02-23 15:28  woaibaobei  阅读(169)  评论(0编辑  收藏  举报