MySQL安装(yum版)

发布于:2025-07-18 ⋅ 阅读:(13) ⋅ 点赞:(0)

MySQL安装(yum版)

一、centos7中安装MySQL

1、使用yum安装

  • # 安装MySQL的yum配置源的rpm包链接
    # 需按照Linux系统版本进行选择
    # 一个rpm包中包含多个版本的MySQLyum源
    https://dev.mysql.com/downloads/repo/yum/
    
    # 多提一嘴
    	# 查看Linux发行版版本号命令
    	cat /etc/os-release
    	cat /etc/redhat-release
    	# 查看Linux内核版本号
    	uname -r
    	uname -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!';
    
    

网站公告

今日签到

点亮在社区的每一天
去签到