当前位置: 首页 > 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.lryc.cn/news/591869.html

相关文章:

  • Lotus-基于大模型的查询引擎 -开源学习整理
  • 海思3516CV610 卷绕 研究
  • 用Amazon Q Developer命令行工具(CLI)快捷开发酒店入住应用程序
  • Python编程进阶知识之第二课学习网络爬虫(requests)
  • 菜单权限管理
  • Spring底层原理(一)核心原理
  • 第十八节:第三部分:java高级:反射-获取构造器对象并使用
  • MYOJ_8518:CSP初赛题单3:数制练习专项
  • 【Java】文件编辑器
  • CSP-S模拟赛三(仍然是难度远超CSP-S)
  • 【Linux】LVS(Linux virual server)
  • 网络爬虫的详细知识点
  • Spring 多模块配置国际化,MessageSource只能加载一个文件
  • 栈和队列的题目,咕咕咕
  • Python基础--嵌套循环
  • 尚庭公寓----------分页查询
  • 【人工智能99问】梯度消失、梯度爆炸的定义、后果及规避手段?(7/99)
  • 树莓派Qt 安装
  • 数据结构 栈(1)
  • 常用API
  • 【深度学习新浪潮】AI在finTech领域有哪些值得关注的进展?
  • Redis中什么是看门狗机制
  • Paimon 动态分桶
  • 大型语言模型的白日梦循环
  • 【软件测试】软件测试分类与方法解析:目标到工具
  • LINUX例行性工作(计划任务)实验操作 ---at和crontab以及系统级别的计划任务
  • Python学习之——序列化与反序列化
  • 链路聚合实训
  • 解决 MyBatis/MyBatis-Plus 中 UUID 类型转换错误的最佳实践
  • MS Project替代方案:5款项目管理工具测评,8Manage PM为何更优?