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

云服务器最新版MySQL 安装步骤

1. 下载最新的 MySQL 8.0 RPM 包

wget https://repo.mysql.com/mysql80-community-release-el9.rpm

2. 安装下载的 RPM 包

sudo dnf install -y mysql80-community-release-el9.rpm

3. 导入 GPG 密钥

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

4. 启用 MySQL 8.0 仓库

sudo dnf config-manager --enable mysql80-community

5. 解决依赖冲突(关键步骤)

# 错误信息示例:
# Error: Transaction test error:
# file /usr/lib64/mysql/libmysqlclient.so.21.2.43 from install of mysql-community-libs-8.0.43-1.el9.x86_64 
# conflicts with file from package mysql-libs-8.0.43-1.oc9.x86_64# 移除冲突包
sudo dnf remove -y mysql-libs  # 添加 -y 参数自动确认

6. 安装 MySQL Server

sudo dnf install -y mysql-community-server

7. 启动服务并获取临时密码

sudo systemctl enable --now mysqld  # 增加 --now 立即启动服务
sudo grep 'temporary password' /var/log/mysqld.log | awk 'END {print $NF}'  # 优化:直接提取最后一个临时密码# 示例输出:
# &1BAtquurwRr

8. 修改 root 密码

-- 使用临时密码登录
mysql -u root -p-- 修改密码(注意密码复杂度要求)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword!123';-- 刷新权限
FLUSH PRIVILEGES;-- 退出后验证
exit
mysql -u root -p  # 使用新密码登录

9. 创建管理员用户并授权

-- 创建新用户(替换 your_username 和 your_strong_password)
CREATE USER 'admin'@'%' IDENTIFIED BY 'SecurePass!456';-- 授予管理员权限
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;-- 刷新权限
FLUSH PRIVILEGES;

10. 防火墙与远程连接配置(关键步骤)

# 开放防火墙端口
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload# 检查防火墙规则
sudo firewall-cmd --list-ports | grep 3306  # 确认端口开放# 验证监听地址(关键)
sudo netstat -tuln | grep 3306
# 正确输出:tcp6  0  0 :::3306  :::*  LISTEN# 若显示 127.0.0.1:3306 需修改配置:
sudo vi /etc/my.cnf
[mysqld]
bind-address = 0.0.0.0  # 添加此行
sudo systemctl restart mysqld

11. 云服务器安全组配置(关键)

  1. 登录云控制台 → 安全组配置
  2. 添加入站规则:
    • 协议:TCP
    • 端口:3306
    • 源:0.0.0.0/0(或指定IP)
  3. 应用规则

12. 连接验证测试

# 本地测试
telnet 127.0.0.1 3306# 远程测试(替换真实IP)
nc -zv 112.123.45.67 3306

常见问题解决

登录失败排查:
  1. 密码注意事项

    • 临时密码包含特殊字符(如 &),需完整复制
    • 密码区分大小写(B vs b
    • 使用引号包裹特殊字符密码:
      mysql -u root -p'&1BAtquurwRr'
      
  2. 服务状态检查

sudo systemctl status mysqld  # 状态应为 active (running)
journalctl -u mysqld -n 50   # 查看最近50条日志
  1. 强制重置密码
# 停止服务
sudo systemctl stop mysqld# 启动免密模式
sudo mysqld_safe --skip-grant-tables &# 登录并重置
mysql -u root
UPDATE mysql.user SET authentication_string='' WHERE User='root';
FLUSH PRIVILEGES;
exit# 重启服务
sudo killall mysqld
sudo systemctl start mysqld
远程连接失败排查:
  1. 认证插件冲突
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'SecurePass!456';
  1. SELinux 解决方案
sudo semanage port -a -t mysqld_port_t -p tcp 3306  # 永久添加端口规则
sudo setenforce 0                                  # 临时关闭SELinux
  1. 深度诊断
# 查看防火墙详情
sudo iptables -L -n | grep 3306# 网络路由检查
traceroute 112.123.45.67 -p 3306

关键补充说明

  1. 密码策略

    • 默认需包含大小写字母、数字、特殊字符(8位以上)
    • 查看策略:SHOW VARIABLES LIKE 'validate_password%';
  2. 安全建议

    • 避免使用 root 远程登录
    • 生产环境建议限制安全组源IP
    • 定期执行 mysql_secure_installation
  3. 日志位置

    • 错误日志:/var/log/mysqld.log
    • 配置文件:/etc/my.cnf
http://www.dtcms.com/a/324763.html

相关文章:

  • jdk17下载安装教程【超详细图文】
  • 零基础学习jQuery第二天
  • 在windows安装colmap并在cmd调用
  • json-fortran库的使用
  • TS 编译原理,提供的 API
  • Angular初学者入门第二课——.ts、.d.ts、.state.ts的区别(精品)
  • Perplexity 为特朗普 Truth Social 提供技术支持
  • 深入解析微服务分布式事务的原理与优化实践
  • 极移(Polar Motion):概念、原因、影响及坐标转换计算
  • 下载UOS桌面专业版系统镜像
  • 计算机视觉(CV)——图像相关基本概念
  • 【redis初阶】------redis客户端(1)
  • Node.js面试题及详细答案120题(01-15) -- 基础概念篇
  • Leaflet地图高亮与编辑功能实现
  • 【最后203篇系列】031 构建MCP尝试
  • signed 和 unsigned 类型说明符
  • 嵌套-列表存储字典,字典存储列表,字典存储字典
  • Linux 路由子系统深度分析:框架、实现与代码路径
  • web刷题3
  • 商业解决方案技术栈总结
  • Python 获取对象信息的所有方法
  • 基于Spring Boot和SSE的实时消息推送系统
  • 三数之和 Java
  • 人工智能系列(7)人工神经网络中的无监督学习
  • C语言-数组和指针练习题合集(一)
  • C语言深度剖析
  • 网页五子棋测试
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-关于我们
  • 2025最新免费的大模型和免费的大模型API有哪些?(202508更新)
  • 秋招春招实习百度笔试百度管培生笔试题库百度非技术岗笔试|笔试解析和攻略|题库分享