一键安装|卸载 mysql 8.2.0 shell脚本

场景:为了在无网、外网 mysql 安装方便,这里分享一个自己编写得 shell脚本

  • 这里以当前最新版 mysql 8.2.0;centos-7
    二进制包下载:
    下载地址

    mysql_install.sh
shell 复制代码
#!/bin/bash
# 解压安装包
tar -xf mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz

# 移动解压后的文件夹到指定位置
mv mysql-8.2.0-linux-glibc2.17-x86_64 /usr/local/mysql

# 创建MySQL数据目录
mkdir -p /var/lib/mysql

# 创建MySQL组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 修改文件夹权限
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/lib/mysql

# 创建MySQL配置文件
cat > /usr/local/mysql/my.cnf << EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/var/lib/mysql
server_id=1 
port=3306 

[mysql]
default-character-set=utf8mb4

[client]
port=3306
socket=/var/lib/mysql/mysqlx.sock
EOF

# 初始化MySQL
cd /usr/local/mysql
./bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize-insecure --user=mysql

# 创建MySQL服务
cat > /etc/systemd/system/mysql.service <<EOF
[Unit]
Description=MySQL8.2.0 Server
After=syslog.target
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf
EOF

# 启动MySQL服务并设置开机启动
systemctl daemon-reload
systemctl start mysql
systemctl enable mysql

mysql_remove.sh

shell 复制代码
#!/bin/bash

# 停止mysql服务
sudo systemctl stop mysql

# 删除mysql用户组
sudo userdel mysql
sudo groupdel mysql


# 删除mysql服务配置
sudo systemctl disable mysql
sudo rm /etc/systemd/system/mysql.service

# 删除数据文件
sudo rm -rf /var/lib/mysql

# 删除mysql二进制文件
sudo rm -rf /usr/local/mysql

echo "mysql已成功卸载!"
相关推荐
mister_guo5 小时前
MySQL-1267错误:排序规则冲突的原因与解决方案
数据库·mysql
Lost_the_wind8 小时前
MySQL学习笔记五
mysql
这个DBA有点耶10 小时前
从时间到语义:时序数据库与向量数据库的核心机制、选型与多模融合趋势
数据库·mysql·架构
SL_staff10 小时前
考勤同步工资核算总出错?破解企业级精准自动化的三个刚性支点
mysql·github·全栈
毕业设计70310 小时前
(免费领源码)基于node的学生公寓管理系统06412- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·mysql·node.js·maven·mybatis·express·b/s
太理摆烂哥11 小时前
MySQL库的操作
数据库·mysql
Dxy123931021613 小时前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
wno70413 小时前
MYSQL 常用合并函数
android·数据库·mysql
for_ever_love__15 小时前
LangGraph State 设计:多节点之间怎么安全地共享数据
redis·mysql·状态模式·checkpoint·state·状态图·langgraph
codeejun17 小时前
每日一Go·MySQL-7、MySQL 核心原理全景图谱
开发语言·mysql·golang