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

openEuler 裸机安装 MySQL 8.0 并配置远程连接

1. 环境准备与镜像源配置

在 openEuler 裸机环境中安装 MySQL 8.0,首先需要配置合适的软件源。推荐使用清华大学开源软件镜像站,以获得更快的下载速度。

# 备份原有 repo 文件 sudo cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.backup 编辑 repo 文件,将 baseurl 替换为清华镜像源 sudo sed -i 's|repo.openeuler.org|mirrors.tuna.tsinghua.edu.cn/openeuler|g' /etc/yum.repos.d/openEuler.repo 清理并重建 yum 缓存 sudo yum clean all sudo yum makecache

2. 安装 MySQL 8.0 社区版

配置好镜像源后,直接使用 yum 安装 MySQL 8.0 社区版服务器。

sudo yum install -y mysql-community-server

安装完成后,系统会自动创建 mysql 用户和必要的目录结构。

3. 启动 MySQL 服务并设置开机自启

使用 systemctl 启动 MySQL 服务,并设置为开机自动启动。

# 启动 MySQL 服务 sudo systemctl start mysqld 设置开机自启 sudo systemctl enable mysqld 检查服务状态 sudo systemctl status mysqld

4. 查找初始临时密码

MySQL 8.0 首次安装后,root 用户会生成一个临时密码,记录在日志文件中。

sudo grep 'temporary password' /var/log/mysqld.log

输出类似:2024-01-01T00:00:00.000000Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abc123!@#

请记下冒号后的密码(示例中的Abc123!@#)。

5. 登录 MySQL 并修改 root 密码

使用临时密码登录 MySQL,然后修改为自定义的强密码。

mysql -uroot -p

输入临时密码后,进入 MySQL 命令行,执行以下命令修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword123!';

注意:MySQL 8.0 默认要求密码包含大小写字母、数字和特殊字符,且长度至少 8 位。

6. 配置 root 用户远程连接(用于 Navicat 等工具)

默认情况下,root 用户仅允许本地连接。为了使用 Navicat 等图形化工具远程连接,需要创建或修改 root 用户并授权。

-- 删除仅限本地的 root 用户(如果存在) DROP USER IF EXISTS 'root'@'localhost'; -- 创建允许任意主机连接的 root 用户,使用 mysql_native_password 插件(兼容旧客户端) CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456'; -- 授予所有权限 GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION; -- 刷新权限使更改生效 FLUSH PRIVILEGES;

安全提示:生产环境中建议使用更复杂的密码,并考虑创建专用用户而非直接使用 root 远程连接。

7. 防火墙放行 3306 端口

openEuler 默认使用 firewalld 防火墙,需要放行 MySQL 默认端口 3306。

# 添加永久规则放行 3306/tcp sudo firewall-cmd --add-port=3306/tcp --permanent 重新加载防火墙配置 sudo firewall-cmd --reload 验证端口是否开放 sudo firewall-cmd --list-ports | grep 3306

8. 验证远程连接

完成以上步骤后,即可在 Navicat 或其他 MySQL 客户端中使用以下信息连接:

  • 主机:openEuler 服务器的 IP 地址
  • 端口:3306
  • 用户名:root
  • 密码:Root@123456(或你设置的密码)
  • 认证插件:mysql_native_password

连接成功后,即可开始管理数据库。

http://www.cnnetsun.cn/news/3471468.html

相关文章:

  • Winform开发:使用CefSharp在窗体应用中嵌入网页(高德地图嵌入Winform)
  • Python办公自动化实战:提升效率300%的核心技巧
  • 多维数据聚合:从SQL GROUP BY到OLAP立方体的工程实践
  • Isaac Lab强化学习实战:Unitree Go2四足机器人金字塔阶梯课程学习
  • 【MAI Gateway|AI网关】我把 Codex 的 Key 从电脑里拿走之后,研发接入反而更简单了
  • RK3588音频开发:libmedia链路API详解与实战优化
  • Python多平台数据采集工具MediaCrawler架构与反爬策略
  • 机器学习模型生产化:从Notebook到高可用风控系统的四大支柱
  • 生产级机器学习系统设计:从模型正确性到系统韧性
  • 影刀RPA 文本文件的读写:TXT、CSV、JSON的读取与写入
  • M5 Mac Mini推迟发布:开发者该如何选择M4还是等待M5?
  • Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
  • 人形机器人26小时自主工作实录:系统架构、算法与工程实践全解析
  • 机器人智能进化史:从反射控制到具身基础模型的技术演进与实战选择
  • Linux命令(3) | 小白零基础快速上手
  • 大语言模型全流程技术解析与工程实践
  • 多维聚合实战:窗口函数、条件聚合与分组集合详解
  • 用生活化方式讲解加密技术:从小学生思维到现代通讯
  • React.PureComponent性能优化原理与实践指南
  • 计算机毕业设计之宿舍水电管理系统的开发与实现
  • 二项分布实战指南:数据科学中的独立性、n与p三重校验
  • 发现一款免费的批量打印工具,分享给大家
  • 无侵入式数据治理(上):为什么说数据治理最大的敌人,是业务改造
  • 分支语句和循环
  • Rust错误处理:thiserror与anyhow实战指南
  • PHPCMS深度解析:国产CMS的模块化设计与实战优化
  • 虚幻引擎多人竞技场游戏开发:网络同步与延迟补偿实战指南
  • PCIe初始化流程详解:链路训练、设备枚举与资源分配
  • 信息论速成指南:工程师的熵、互信息与信道容量实战手册
  • PySpark MLlib千万级分类实战:从集群训练到生产部署