1.关闭防火墙
#!/bin/bash
#关闭防火墙和守护进程
stop_firewalld() {
systemctl stop firewalld
systemctl disable firewalld
sed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
sleep 2
echo "防火墙已关闭"
}
stop_firewalld
2.安装MySQL
#!/bin/bash
#全局变量
download_addr=xxx
install_mysql() {
#清理环境
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my*
rm -rf /var/lib/mysql
rm -rf /usr/local/mysql*
#判断压缩包存不存在
file=/root/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
if [[ -e $file ]]; then
echo "源码包存在"
else
#下载二进制包
wget -O /root/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz ${download_addr}/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
fi
#解压
tar xvzf /root/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /usr/local
#改名
mv /usr/local/mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql
#创建组和用户并加入组
groupadd -g 27 mysql && useradd -g 27 -u 27 -M -s /sbin/nologin mysql
#授权属主和属组
chown -R mysql:mysql /usr/local/mysql
#创建日志文件并授权
touch /var/log/mysql.log && chown mysql:mysql /var/log/mysql.log
#编辑配置文件
echo '
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
port=3306
default-storage-engine = innodb
innodb_large_prefix=on
innodb_file_per_table = on
max_connections = 10000
collation-server = utf8_general_ci
character_set_server=utf8
user=mysql
#skip-grant-tables
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8
[mysqld_safe]
log-error=/var/log/mysql.log
' >/etc/my.cnf
#添加环境变量
echo 'export PATH=${PATH}:/usr/local/mysql/bin' >/etc/profile.d/mysql.sh
#刷新
source /etc/profile
#初始化数据库
mysqld --initialize-insecure --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
#添加启动脚本
echo '
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
' >/usr/lib/systemd/system/mysql.service
#重新加载systemd管理器的unit配置文件
systemctl daemon-reload
systemctl enable --now mysql.service
#重启
systemctl restart mysql
sleep 10
#修改密码
mysql -uroot -e "alter user 'root'@'localhost' identified by 'qwer@123';"
ss -ntpl | grep "3306"
if [[ $? -eq 0 ]]; then
echo "MySQL安装完成"
else
echo "mysql安装失败"
fi
}
install_mysql