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

MySQL安装(yum版)

MySQL安装(yum版)

一、centos7中安装MySQL

1、使用yum安装

  • # 安装MySQL的yum配置源的rpm包链接
    # 需按照Linux系统版本进行选择
    # 一个rpm包中包含多个版本的MySQLyum源
    https://dev.mysql.com/downloads/repo/yum/# 多提一嘴# 查看Linux发行版版本号命令cat /etc/os-releasecat /etc/redhat-release# 查看Linux内核版本号uname -runame -a
    
  • 在这里插入图片描述

安装rpm包
  • # 需要用到wget
    yum install -y wget
    wget https://repo.mysql.com/mysql-community-release-el7.rpm  # 下载
    rpm -ivh mysql-community-release-el7.rpm  # 安装
    
  • 在这里插入图片描述

  • 在msyql-community.repo中有多个版本的MySQL,将需要下载的MySQL版本源中的enabled设置为1,其它版本设置为0

  • [root@yun02 yum.repos.d]# cat mysql-community.repo 
    # Enable to use MySQL 5.5
    [mysql55-community]
    name=MySQL 5.5 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6
    [mysql56-community]
    name=MySQL 5.6 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.7
    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=1  # 这里若要安装,将其设置为1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
安装MySQL
  1. 在安装MySQL前,首先要将系统里原有的数据库清理干净;ceontos7开始系统默认预装mariadb,之前预装的是MySQL
  • CentOS7之前

  • systemctl stop mysqld # 先关闭服务
    rpm -qa | grep mysqld # 在Linux系统中列出所有已安装的RPM软件包,然后筛选出与mysqld相关的包
    # 然后按照列出的顺序依次删除
    rpm -e --nodeps mysql-community-server  # rpm -e:表示 erase,即卸载指定的软件包。
    rpm -e --nodeps mysql-community-client  # --nodeps:表示忽略依赖关系,强制卸载,即使其他软件包依赖这个包也不做检查。
    rpm -e --nodeps mysql-community-libs
    rpm -e --nodeps mysql-community-common# 卸载完基本的环境后,我们要清理依赖的文件(数据库配置文件及数据库数据文件)-- 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除)rm -rf  /etc/my.cnf
    -- 删除数据库数据文件(包含系统数据库表和自定义数据库表),但是如果陌生服务器,此步骤谨慎!!!!!!rm -rf /var/lib/mysql
    -- 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为主)rm -rf /var/log/mysqld.log
    
  • CentOS7之后(含7版本)

  • rpm -qa | grep mariadb # 查询
    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 # 删除-- 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除)rm -rf  /etc/my.cnf
    -- 删除数据库数据文件(包含系统数据库表和自定义数据库表),但是如果陌生服务器,此步骤谨慎!!!!!!rm -rf /var/lib/mysql
    -- 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为主)rm -rf /var/log/mysqld.log
    
  1. 安装MySQL
  • yum install -y mysql-server# 报错情况
    yum install mysql-community-server --nogpgcheck  # 若出现以下情况输入该命令跳过密钥检查即可
    
  • 在这里插入图片描述

启动MySQL
  • 在使用该命令前需要确定mysql用户和用户组是否创建(一般情况下安装MySQL的过程中系统会自动创建)
    [root@yun02 ~]# id mysql
    uid=27(mysql) gid=27(mysql)=27(mysql)mysqld --initialize # 初始化MySQL数据库的数据目录,为新安装的MySQL实例准备“首次使用”的基础数据环境。mysqld:这是 MySQL服务器进程(数据库服务守护程序)--initialize:表示初始化数据目录,其作用包括:创建MySQL系统库(如 mysql、information_schema、performance_schema 等)。生成MySQL数据库所需的目录结构和数据文件。随机生成一个临时root密码(存放在 MySQL的错误日志文件中)。注意:安装MySQL后,第一次使用前必须初始化数据库目录,否则MySQL服务无法启动。使用前提:数据目录必须是空的。具有相应的文件权限(通常是 mysql 用户)。# 多提一嘴
    mysqld --initialize --user=mysql
    指定以 mysql 用户身份进行初始化。
    初始化完成后,数据目录(通常是 /var/lib/mysql)下会生成必要的数据库文件和系统库。
  • 命令作用
    mysqld --initialize随机生成root密码,安全性较高(生产环境推荐)。
    mysqld --initialize-insecure不生成root密码,root账户空密码(测试环境可用,风险较高)。
  • 将 /var/lib/mysql/ 的属主属组改为mysql用户和用户组

  • chown -R mysql:mysql /var/lib/mysql/
    # 出现以下报错说明没有写的权限(权限不足报错)
    根本原因
    ibdata1 文件权限不正确或文件系统只读,导致 MySQL 无法对其写入。常见原因有:
    权限问题(最常见):
    ibdata1 文件及其所在目录的属主、属组 不属于 MySQL 运行账号(通常是 mysql)。
    文件权限不足,mysql用户没有写入权限。
    文件系统只读:
    例如数据盘以只读方式挂载(可以通过 mount 查看)。
    SELinux或AppArmor限制(部分系统)。
    磁盘空间耗尽(较少见)。
  • 在这里插入图片描述

  • 启动

  • systemctl start mysqld
    # 启动无报错可输入 systemctl status mysqld 查看MySQL服务的状态
    # 无报错可以在MySQL的日志文件中寻找生成的临时密码
    grep 'temporary password' /var/log/mysqld.log# 使用临时密码登录
    mysql -uroot -p# 登录后执行以下命令修改root用户密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!';
http://www.dtcms.com/a/284646.html

相关文章:

  • 为什么使用时序数据库
  • 通用人工智能AGI遥遥无期,面临幻灭
  • C++11 ---- lambda表达式
  • 【图像处理基石】如何入门色彩评估?
  • 最大子段和,但是两段# Kadane
  • IMU噪声模型
  • 第五届建筑防水科技创新大会召开,凯伦股份再度入选科技创新企业十强榜单!
  • Pytorch深度学习框架实战教程03:Tensor 的创建、属性、操作与转换详解
  • 杨耀东老师在ICML2025上对齐教程:《语言模型的对齐方法:一种机器学习视角》
  • 迅速高效从web2到web3转型 ,开启远程工作
  • 【yaml文件格式说明】
  • 开源大模型api接口调用
  • React钩子HOOK
  • 原生前端JavaScript/CSS与现代框架(Vue、React)的联系、区别与运行环境(精简版)
  • [yotroy.cool] Git 历史迁移笔记:将 Git 项目嵌入另一个仓库子目录中(保留提交记录)
  • Mysql测试题
  • AI 智能质检系统在汽车制造企业的应用​
  • ubuntu 22.04 pam 模块设置用户登录失败锁定
  • RocketMQ 高可用集群架构与一致性机制解析
  • reids依赖删除,但springboot仍然需要redis参数才能启动
  • 黄仁勋链博会首秀:中国开源AI催化全球革命,机器人浪潮重塑未来工厂
  • HCIE - 云计算拿下后的职业选择如何规划?
  • HCIE - 云计算方向考什么?一文全解
  • JMeter 性能测试工具
  • 推荐较好的zynq开发博客
  • 算法竞赛备赛——【图论】求最短路径——Floyd算法
  • Redis 中的看门狗机制:分布式锁的守护者
  • 力扣每日一题--2025.7.17
  • Python基础③-函数篇
  • 【git 如何查看本地分支与远程分支之间的差异】