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

记一次成功安装MySQL‑8.0.28到银河麒麟V10,并实现远程访问

工具/原料

  1. MySQL数据库安装包下载地址
    https://dev.mysql.com/downloads/mysql/

本次实验版本:mysql‑8.0.28‑linux‑glibc2.12‑x86_64.tar.xz

image

  1. 银河麒麟V10操作系统镜像下载地址(注册登录后根据CPU架构选择对应版本)
    https://eco.kylinos.cn/partners/mirror.html?class_id=1

方法/步骤

1 系统环境准备

1.1 清理历史MySQL、MariaDB残留环境

目的:避免旧版本库、配置冲突,保证全新安装。

# 检查系统是否存在mysql、mariadb相关安装包
rpm -qa | grep mysql
rpm -qa | grep mariadb# yum卸载相关软件包
yum -y remove mysql*
yum -y remove mariadb*# 若yum卸载不干净,使用rpm强制删除指定包(filename替换为实际包名)
rpm -e filename# 全盘查找mysql相关残留文件,找到后手动删除
find / -name mysql

1.2 创建mysql系统用户与用户组

mysql服务使用普通系统用户运行,禁止root直接运行数据库进程。

# 检查mysql用户组是否已存在
cat /etc/group | grep mysql# 创建mysql用户,禁止登录shell
useradd mysql -s /sbin/nologin# 验证用户信息
id mysql
# 预期输出:uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)

1.3 创建业务目录

生产环境建议:程序、数据、binlog日志分开部署在不同磁盘,提升安全与性能。

# 软件安装根目录
mkdir -p /app/database/# 数据存储目录
mkdir -p /data/3306/# binlog日志目录
mkdir -p /binlog/3306/

1.4 目录权限授权

chown -R mysql.mysql /app/ /data/ /binlog/

1.5 防火墙配置(开放3306远程访问端口)

二选一:

方式1:直接关闭防火墙(测试环境可用,生产不推荐)

systemctl stop firewalld
systemctl disable firewalld

方式2:只放行3306端口(生产环境推荐)

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld

2 MySQL数据库软件部署

2.1 上传解压MySQL压缩包

使用rz上传工具或FTP工具把安装包上传到 /app/database/

cd /app/database/# 解压安装包
tar -xzvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz# 创建软链接,方便版本升级管理
ln -s mysql-8.0.28-linux-glibc2.12-x86_64 mysql

2.2 配置系统环境变量

注意:原文档存在笔误msyql,修正为mysql

cd /app/database/mysql
chown -R mysql.mysql *# 编辑profile配置文件
vim /etc/profile

在文件末尾增加:

export PATH=/app/database/mysql/bin:$PATH

保存退出后加载环境变量:

source /etc/profile# 验证MySQL版本
mysql -V
# 预期输出:mysql  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)

2.3 编写MySQL配置文件 /etc/my.cnf

vim /etc/my.cnf

粘贴以下完整配置:

[mysqld]
basedir=/app/database/mysql
bind-address=0.0.0.0
datadir=/data/3306
log-error=/data/3306/mysql.err
lower-case-table-names=1
pid-file=/data/3306/mysql.pid
port=3306
server_id=1
socket=/tmp/mysql.sock
user=mysql
#字符集配置
character_set_server=utf8mb4
symbolic-links=0[mysql]
socket=/tmp/mysql.sock

参数说明:lower‑case‑table‑names=1 开启数据库表名不区分大小写。

保存退出 :wq

2.4 初始化MySQL数据库

cd /app/database/mysql/bin
# --initialize‑insecure 初始化无初始密码,后续手动设置密码
./mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/ --defaults-file=/etc/my.cnf --lower-case-table-names=1

常见报错:缺少libaio‑devel依赖

yum install -y libaio-devel

查看错误日志(本示例初始化无密码,日志中不会生成临时密码)

cat /data/3306/mysql.err

image

2.5 配置系统服务与开机自启

cd /app/database/mysql/support-files/
# 将mysql.server复制到系统服务目录
cp mysql.server /etc/init.d/mysqld

服务操作命令:

# 注意服务名是mysqld
service mysqld status
service mysqld start
service mysqld stop
service mysqld restart

设置开机自启:

chkconfig --add mysqld
chkconfig mysqld on# 校验开机自启,3、4、5级别显示on即为成功
chkconfig | grep mysql

3 数据库登录、修改密码、开启远程访问

3.1 设置root用户密码

示例密码:huanu.1#,可自行修改

mysqladmin -uroot -p password huanu.1#
# 初始化无密码,直接回车确认旧密码

3.2 本地登录MySQL

mysql -uroot -p -P3306 -h127.0.0.1

输入设置的密码登录。

3.3 MySQL退出命令(三种)

exit;
quit;
\q;

3.4 配置root允许所有主机远程访问

use mysql;
update user set host ='%' where user ='root' and host ='localhost';
flush privileges;

完成以上操作,外部机器就可以通过IP+3306端口远程连接数据库。


补充注意事项

  1. 文档中原笔误:cd /app/database/msyql → 修正为cd /app/database/mysqlsystemctl restart firewall → 修正为systemctl restart firewalld
  2. --initialize‑insecure初始化不会生成临时密码;如果使用--initialize则会生成随机初始密码,需要从err日志读取。
  3. 生产环境不建议直接给root开放%所有地址访问,建议限定指定业务服务器IP。
  4. 银河麒麟V10使用yum包管理器,软件依赖全部使用yum安装。
http://www.jsqmd.com/news/1352434/

相关文章:

  • 07 如何在 Blender 中检查工业设备运动
  • Unity表面着色器开发与PBR材质实战指南
  • 嘉兴甲醛检测多少钱一次?2026新房入住前,先把点位、项目和报告用途说清楚 - CMA甲醛检测
  • 抠图软件免费版有哪些?电脑手机网页版免费无水印抠图工具实测盘点 - AI测评专家
  • AI 硬件编程避坑指南:从“跑通代码”到“验证闭环”的验证工程实战
  • 2026 身份证挂失登报科普,哪些情况建议登报、遗失声明怎么写 - 点办通
  • C++数组核心解析:从内存布局、指针关系到现代容器替代方案
  • 长沙防水修缮哪家可靠 十大实力品牌测评,避坑指南精选 - 工业设备
  • 公共机构碳普惠一体化终端方案:碳惠感知硬件架构与资源化回收联动设计
  • Zotero插件市场终极指南:一键安装插件,提升文献管理效率
  • SAP系统升级核心工具SPDD与SPAU:定制化修改的迁移与兼容性保障
  • mcp-mlx-launcher MCP 服务说明文档
  • PCL2整合包制作终极指南:3步创建完美Minecraft整合包
  • 基于Real-ESRGAN的图像超分辨率实践:从原理到批量处理
  • Navicat Premium终极重置方案:3种简单方法实现永久免费使用
  • 事件驱动成就解锁系统:Xbox Achievement Unlocker的技术架构深度解析
  • 编码器应用——测速、测距和闭环控制中的使用
  • 暑期学习打卡-第二十五天
  • 江门甲醛检测多少钱一次?2026新房入住前,先把点位、项目和报告用途说清楚 - CMA甲醛检测
  • Unity自定义鼠标指针全攻略:从原理到动态管理系统实现
  • 元初混沌体系架构 第二卷 第二十二篇 深空无介质真空信道纯能传输理论
  • 如何快速掌握Java字节码逆向:5个实用技巧让你成为专业分析专家
  • Zynq强制烧写Flash:绕过启动模式限制的PL辅助方案详解
  • 高级Skill开发实战:模块化设计与性能优化
  • 微信小程序自习室预约系统开发实践
  • 如何用KLayout开源版图设计工具实现专业芯片设计
  • Wispr Flow Notetaker:基于Claude的AI会议笔记自动化流水线实践
  • 焦作甲醛检测多少钱一次?2026新房入住前,先把点位、项目和报告用途说清楚 - CMA甲醛检测
  • ExifToolGUI实战指南:如何高效管理图片元数据的技术方案
  • OpenCore Legacy Patcher技术深度解析:让老Mac重获新生的奥秘