shellscript-15-一键部署mysql5.7.40
脚本内容
#!/bin/bash
# author: yolo
# 一键安装mysql5.7
ch_ok()
{
if [ $? -ne 0 ]
then
echo "$1 error"
exit 1
fi
}
download_mysql()
{
# 下载安装包
cd /usr/local/src
if [ -f mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar ]
then
echo “当前目录存在包 mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar”
echo “检测md5”
mysql_md5=`md5sum mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar|awk '{print $1}'`
if [ ${mysql_md5} == "f29a119ac3b622cef868e776fb7490a9" ]
then
return 0
else
sudo /bin/mv mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar.old
fi
fi
sudo curl -O https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar
ch_ok "下载mysql"
}
# 卸载mariadb
un_db()
{
if rpm -qa | grep mariadb >/dev/null
then
ma_db=`rpm -qa | grep mariadb`
echo "有服务 $ma_db"
echo "卸载mariadb"
rpm -e --nodeps $ma_db
ch_ok "卸载mariadb"
else
echo "没有服务"
fi
}
install_mysql()
{
cd /usr/local/src
echo "解压mysql"
sudo tar -xvf mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar
ch_ok "解压mysql"
rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm
ch_ok "安装common"
rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm
ch_ok "安装libs"
rpm -ivh mysql-community-devel-5.7.40-1.el7.x86_64.rpm
ch_ok "安装devel"
rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm
ch_ok "安装client"
rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm --force --nodeps
ch_ok "安装server"
}
start_mysql()
{
systemctl start mysqld.service
echo "创建配置文件my.cnf 降低密码复杂度要求"
cat > /tmp/my.cnf <<EOF
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
#************** connection ***************
max_connections=2000
max_connect_errors=100000
max_user_connections=0
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower-case-table-names=1
validate_password=off
default_password_lifetime=0
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
EOF
sudo /bin/mv /tmp/my.cnf /etc/my.cnf
# 启动数据库
# 重启mysql
systemctl restart mysqld.service
ch_ok "启动mysql"
}
download_mysql
un_db
install_mysql
start_mysql
echo "以下命令手动执行"
echo "查看初始密码"
echo "grep 'password' /var/log/mysqld.log"
echo "登录mysql"
echo "mysql -u root -p"
echo “修改密码”
echo "set password for root@localhost = password('1234@abc');"