当前位置: 首页 > news >正文

hj_2025_0812

centos9 stream 阿里服务器安装 MySQL8.0.43

#!/bin/bash
set -eMYSQL_PORT=3309
MYSQL_ROOT_PASS='Hj4726e5b224486d2d93e019ea9f34c9Jens?!'
MYSQL_DATA_DIR="/var/lib/mysql"echo "1. 卸载老旧MySQL和MariaDB"
yum remove -y mysql* mariadb* || trueecho "2. 清理数据目录和日志(谨慎,确保备份)"
rm -rf ${MYSQL_DATA_DIR}/*
rm -f /var/log/mysqld.log || trueecho "3. 导入GPG Key"
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023echo "4. 安装MySQL官方repo"
yum install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpmecho "5. 清理yum缓存"
yum clean allecho "6. 安装MySQL-server"
yum install -y mysql-community-serverecho "7. 修改MySQL配置文件"
cat >/etc/my.cnf <<EOF
[mysqld]
port=${MYSQL_PORT}
basedir=/usr
datadir=${MYSQL_DATA_DIR}
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0skip-name-resolve
bind-address=0.0.0.0character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'default-storage-engine=INNODB
innodb_file_per_table=1
innodb_default_row_format=DYNAMIC
max_connections=64
EOFecho "8. 初始化MySQL数据目录"
mysqld --initialize-insecure --user=mysql --datadir=${MYSQL_DATA_DIR}echo "9. 启动MySQL服务"
systemctl enable mysqld
systemctl start mysqldecho "10. 等待MySQL启动"
sleep 10echo "11. 设置root密码和远程访问权限"
mysql -uroot <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASS}';
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASS}';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EOFecho "12. 开放防火墙端口${MYSQL_PORT}"
if systemctl is-active firewalld &>/dev/null; thenfirewall-cmd --permanent --add-port=${MYSQL_PORT}/tcpfirewall-cmd --reload
elseecho "防火墙未运行,跳过开放端口"
fiecho "13. 重启MySQL服务应用配置"
systemctl restart mysqldecho "=== MySQL安装完成 ==="
echo "端口:${MYSQL_PORT}"
echo "root密码:${MYSQL_ROOT_PASS}"
echo "字符集:utf8mb4"
echo "排序规则:utf8mb4_general_ci"
echo "最大连接数:64"
一键脚本运行
#!/bin/bash
set -eMYSQL_PORT=3309
MYSQL_DATA_DIR="/var/lib/mysql"
MYSQL_LOG_FILE="/var/log/mysqld.log"echo "1. 停止MySQL服务"
systemctl stop mysqld || true
systemctl disable mysqld || trueecho "2. 卸载MySQL相关软件包"
yum remove -y mysql-community-server mysql-community-client mysql-community-common mysql-community-libs mysql-community-client-plugins || trueecho "3. 删除MySQL数据目录"
rm -rf ${MYSQL_DATA_DIR} || trueecho "4. 删除MySQL日志文件"
rm -f ${MYSQL_LOG_FILE} || trueecho "5. 删除MySQL配置文件"
rm -f /etc/my.cnf
rm -rf /etc/my.cnf.d || trueecho "6. 删除MySQL官方仓库"
yum remove -y mysql80-community-release || trueecho "7. 清理yum缓存"
yum clean allecho "8. 移除防火墙开放的3309端口"
if systemctl is-active firewalld &>/dev/null; thenfirewall-cmd --permanent --remove-port=${MYSQL_PORT}/tcp || truefirewall-cmd --reload
elseecho "防火墙未运行,跳过端口关闭"
fiecho "=== MySQL彻底卸载完成 ==="
一键脚本卸载
-- 授权执行,或者777
chmod +x mysql_install.sh
sudo ./mysql_install.sh
chmod +x mysql_uninstall.sh
sudo ./mysql_uninstall.sh-- 查看版本
mysql --version-- 运行状态
systemctl status mysqld-- 启动服务
systemctl start mysqld-- 停止服务
systemctl stop mysqld-- 重启服务
systemctl restart mysqld
操作查看
#!/bin/bash# 备份配置
BACKUP_DIR="/etc/lsy_mysql"
DB_NAME="alitemp"
MYSQL_USER="root"
MYSQL_PASS="Hj4726e5b224486d2d93e019ea9f34c9Jens?!"
DATE=$(date +'%Y%m%d_%H%M%S')
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_backup_${DATE}.sql.gz"# 创建备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"# 导出数据库并压缩
mysqldump -u${MYSQL_USER} -p${MYSQL_PASS} ${DB_NAME} | gzip > "${BACKUP_FILE}"# 可选:删除7天前的备份文件(保持最近7天备份)
find "$BACKUP_DIR" -name "${DB_NAME}_backup_*.sql.gz" -type f -mtime +7 -exec rm -f {} \;
备份脚本
-- 授权执行
chmod +x /etc/lsy_mysql/backup_alitemp.sh-- 查看定时任务
crontab -l-- 修改定时任务
crontab -e-- 添加一行
30 3 * * * /etc/lsy_mysql/backup_alitemp.sh
-- 每天凌晨3点30分执行一次这个脚本over-- 手动跑脚本验证
/etc/lsy_mysql/backup_alitemp.sh
alitemp_backup_20250812_030000.sql.gz
定时任务执行备份脚本

 

http://www.aitangshan.cn/news/852.html

相关文章:

  • CF2062G Permutation Factory 题解
  • NBD(Network Block Device)简介及基本使用
  • 2024年12月齐鲁弱校联考
  • SpingBoot分段输出日志并自动删除
  • 牛x,这也许是Coze(字节)平替,AIFlowy:企业级AI应用开发平台
  • Petrozavodsk Summer 2024. Day 2. K-ontest
  • pygame小游戏飞机大战_6敌人开火
  • Git 如何正确回滚代码?常见回滚操作对比,适用不同的场景
  • 嵌入式数据库_sqlite-duckdb
  • 抱歉!Java面试标准答案最不重要
  • PyCharm安装教程(附安装包)超详细下载安装激活教程(新手零基础安装指南)
  • maven配置阿里云镜像加速
  • RAID 磁盘阵列
  • 题解:P10965 Largest Submatrix - e
  • 面试防坑场景
  • 夜莺开源监控,模板函数一览
  • 10 个不错的 C 语言开源项目
  • systemctl服务管理
  • 打编程之024:免费本地AI客户端-Chatbox和CherryStudio
  • 绩效考核管理系统横评:功能对比、应用场景与企业选择指南
  • Windows10 安装编译后的 pysqlcipher3-v1.2.1 基于 Python 3.11.9
  • SEATA AT vs SAGA vs 本地消息表
  • Moka远程招聘系统:2025年AI视频面试+电子签零接触入职标准方案
  • 个性化联邦学习库PFLlib的技术解析与基准测试
  • 回归whk
  • DNS服务器漏洞可能导致远程代码执行
  • (自适应手机端)烘干机网站模板 通用机械设备网站源码下载
  • Oracle RAC 19.8 RHEL7.6 安装手册
  • AutoCAD Plant 3D 安装步骤与新手入门教程
  • 技术岗位学习路径指南 - 详解