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

Linux研学-MySQL安装

一 MySQL5.7

1 配置远程仓库

  yum所链接的远程仓库中,没有MySQL5.7的版本,故需要配置额外的远程仓库。

# 导入密钥
# 主要目的是验证软件包的完整性和来源的合法性,防止恶意软件或篡改的包被安装到系统中
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 通过 RPM 包管理器下载并安装一个包含 MySQL 5.7 仓库元数据的 RPM 包
# -Uvh:是 rpm 命令的选项组合,具体含义如下:
# -U(或 --upgrade):表示升级或安装软件包。如果软件包已安装,则升级到最新版本;如果未安装,则直接安装。
# -v(或 --verbose):表示详细模式,会在安装过程中显示更多信息,便于用户了解安装进度。
# -h(或 --hash):表示显示散列进度条,由一系列 # 符号组成,直观展示安装进度。
#http://repo.mysql.com/mysql57-community-release-el7-7.noarch.rpm:是 MySQL 官方提供的 RPM 包下载地址,该包包含指向 MySQL 5.7 仓库的元数据(如仓库地址、GPG 密钥等)。
rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7-7.noarch.rpm

2 安装5.7版本

yum -y install mysql-community-server

3 启动

  MySQL安装完成后,会自动配置名为mysqld的服务,可以被systemctl所管理

#  启动 MySQL 服务
systemctl start mysqld# 配置 MySQL 开机自启动
systemctl enable mysqld# 验证 MySQL 服务状态
systemctl status mysqld
# 正常运行的输出示例
systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Mon 2025-07-14 13:46:04 CST; 13s agoInvocation: 85b12a79c5e44efd975ce199f296e83dDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html
# Loaded: enabled → 已配置开机自启。
# Active: active (running) → 服务正在运行。
# 如果显示 inactive (dead),说明服务未启动,需重新执行 systemctl start mysqld。

4 获取初始密码(临时)

  初始用户名为root,初始密码可在日志文件中查询到

cat /var/log/mysqld.log | grep "temporary password"# abX;<Cs4<B7g 密码
2025-07-14T05:46:00.230632Z 1 [Note] A temporary password is generated for root@localhost: abX;<Cs4<B7g

5 登录

  获得密码后,通过以下命令进行登录

mysql -uroot -p

6 修改初始密码

  密码默认策略:长度 ≥ 8 位。;包含大小写字母、数字和特殊字符(如 !, @, #);不能是常见简单密码(如 123456, password)

# 编写密码于单引号内
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';

  可配置简单密码(测试/学习环境)

# 修改策略为 LOW(允许简单密码)
SET GLOBAL validate_password_policy = LOW;
# 最小长度设为 4
SET GLOBAL validate_password_length = 4;

7 配置远程登陆

  设置可登录的IP和远程登录的密码,%表示都可以登录,最后刷新权限

# ALL PRIVILEGES:拥有所有操作权限(增删改查、创建/删除数据库、用户管理等)。
# *.*:作用于所有数据库和表。
# 'root'@'%':允许从任何主机(%)以 root 身份连接。
# WITH GRANT OPTION:允许该用户将自己的权限授予其他用户。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;
# 查看权限
SHOW GRANTS FOR 'root'@'%';

8 检查端口

  退出mysql,检查 mysql 默认绑定的 3306 端口

netstat -anp | grep 3306
tcp6    0    0 :::3306       :::*     LISTEN    4629/mysqld

二 MySQL8.0

1 配置远程仓库

# 导入密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 添加 MySQL 8.x YUM 仓库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

2 安装8.0版本

yum -y install mysql-community-server

3 启动

#  启动 MySQL 服务
systemctl start mysqld# 配置 MySQL 开机自启动
systemctl enable mysqld# 验证 MySQL 服务状态
systemctl status mysqld

4 获取初始密码

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

5 登录

mysql -uroot -p

6 修改初始密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

  配置简单密码(测试/学习环境)

# 修改策略为 LOW(允许简单密码)0=LOW, 1=MEDIUM, 2=STRONG
SET GLOBAL validate_password.policy = 0;
# 最小长度设为 4
SET GLOBAL validate_password.length = 4;

7 远程登录

# 创建 root 远程登录用户(首次设置)
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '强密码';
# 后续修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

8 检查端口 – 3306

netstat -anp | grep 3306
http://www.xdnf.cn/news/1170307.html

相关文章:

  • C# 类 封装 属性 练习题
  • 暑假算法训练.6
  • [LLM]Synthetic Visual Genome
  • pluto example, heat-1d优化分析
  • ClearML库详解:从实验跟踪到模型部署的全流程管理
  • KafkaMQ 日志采集最佳实践
  • Hadoop调度器深度解析:FairScheduler与CapacityScheduler的优化策略
  • Navicat 远程连接SQLlite数据库
  • 【锁】MySQL中有哪几种锁?
  • 标记语言---XML
  • 《Webpack热更新瓶颈突破:全链路优化指南》
  • Java函数指南:从Function到BiFunction的深度解析
  • 从ZooKeeper到KRaft:Kafka架构演进与无ZooKeeper部署指南
  • React 面试题库
  • Redis 5.0中的 Stream是什么?
  • Vue开发常用库(含npm安装命令)
  • Linux中信号认识及处理和硬件中断与软中断的讲解
  • 设计模式七:抽象工厂模式(Abstract Factory Pattern)
  • el-input 动态获焦
  • An error occurred at line: 1 in the generated java file问题处理及tomcat指定对应的jdk运行
  • 对随机生成的html文件做标签简析
  • Python趣味算法:折半查找(二分查找)算法终极指南——原理、实现与优化
  • Spring 核心知识点梳理 1
  • Jmeter使用 - 2
  • 第十一章 用Java实现JVM之异常处理
  • 使用 Ansys Fluent 软件参数化工作流程对搅拌罐中的稳态涡流进行仿真
  • 质量即服务:从测试策略到平台运营的全链路作战手册
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(7):自動詞 & 他動詞
  • es6中的symbol基础知识
  • Lua语言