首页 > 数据库 >CentOS7安装MySQL:使用Yum存储库方式

CentOS7安装MySQL:使用Yum存储库方式

时间:2023-08-14 13:33:40浏览次数:57  
标签:配置文件 MySQL community CentOS7 Yum mysql 安装

一、安装环境
安装环境如下:
服务器:CentOS 7.9
安装版本:MySQL 5.7(最新版)

二、安装过程和细节
1、在官网下载 MySQL Yum 源安装文件
用 MySQL Yum 存储库安装的方式,其实就是通过 Linux 系统的 Yum 源安装的方式,主要的 Yum 源配置文件存放在/etc/yum.repos.d目录下,所以要想通过这种方式安装 MySQL,我们必须添加 MySQL Yum 源配置。

官网下载地址如下
https://dev.mysql.com/downloads/repo/yum

目前最新是 https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpm,下载这个即可,然后上传到服务器上

下载完后,执行下面命令,就可以在服务器上添加 MySQL Yum 源配置
yum localinstall mysql80-community-release-el7-9.noarch.rpm

2、修改 Yum 源配置文件为自己需要安装的版本
因为这里下载的已经到 MySQL 8 版本的配置,所以如果不修改继续安装,默认会安装MySQL 8,可以用下面命令查看当前将会安装的版本
yum repolist all | grep mysql

 

或者通过下面命令查看,可以更清楚的看到将要安装的包
yum repolist enabled | grep "mysql.*-community.*"

 如果想安装 MySQL 5,可以通过下面命令修改 MySQL Yum 源配置文件,两条命令都要执行,执行完后,可以用上面命令看看结果

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

或者可以直接修改 MySQL Yum 源配置文件,其实上面用yum-config-manager命令本质就是修改源配置文件。我们打开配置文件,结果如下,我们把要安装版本的对应配置的改为 enabled=1 即可,不用安装的改为 enabled=0,另外可以看到里面 baseurl配置就是 MySQL Yum 存储库的链接,后续安装就会从这里下载必要的安装包。

3、删除本地默认安装的 MySQL
MySQL 除了自己的发行版本外,还有其他的第三方分支版本,比如 MariaDB,一般 CentOS 系统服务器上会默认安装这个版本的数据库,如果存在,需要先删掉,先用下面命令查看
rpm -qa | grep mariadb

如果发现存在,用下面命令删除
rpm -e --nodeps mariadb-XXX -- 其中 XXX 表示不同版本

4、安装 MySQL
设置好 MySQL Yum 源配置和处理好默认安装的数据库后,就可以开始安装 MySQL 了,直接使用下面命令安装
yum install mysql-community-server

结果如下,默认会安装对应版本的最新版,这里安装的是 MySQL 5.7.43

执行上面命令,会自动下载 MySQL Yum 存储库的安装文件,默认会下载最新版本,从上面结果可以看到,主要会安装下面 4 个安装包,这也是安装一个 MySQL 必须的安装包,也不用关注各个安装包之间的依赖关系,会自己解决依赖

mysql-community-server
mysql-community-client
mysql-community-common
mysql-community-libs
安装成功后,服务器上就会有 MySQL 相关的各种文件,主要有下面这些

名称 位置
用户和用户组 增加一个 mysql 非登录用户和用户组,后续相关文件目录权限都会是 mysql,并且启动会以 mysql 用户启动
配置文件 /etc/my.cnf
数据文件目录 /var/lib/mysql
日志文件 /var/log/mysqld.log
执行文件 /usr/bin、/usr/sbin 下面会有 MySQL 的一些执行文件,比如 mysqld
系统启动配置文件 /usr/lib/systemd/system/mysqld.service

5、启动 MySQL
到这步说明安装过程基本完成,这里就按默认的配置文件/etc/my.cnf不作修改,因为添加了系统启动配置文件,所以直接执行下面命令,启动 MySQL 很方便
systemctl start mysqld.service

如果一切顺利的话,MySQL 启动成功,会生成一个默认的 root@localhost 密码,并在日志文件中显示,用下面命令可以查看
cat /var/log/mysqld.log | grep "temporary password"

登录后,一般会要求先修改默认密码,用下面命令修改密码后,就可以正常使用了
ALTER USER 'root'@'localhost' IDENTIFIED BY '重置的密码';

到这里,通过 MySQL Yum 存储库方式安装 MySQL 5.7 已经完成,这里是以安装 MySQL 5.7 为例,如果要安装其他版本,比如 MySQL 5.6,按这个步骤基本一样。

6、总结所有安装命令
上面是具体的安装步骤,看着很多内容,其实总结下,就是下面几个命令,是不是非常方便

yum localinstall mysql80-community-release-el7-9.noarch.rpm
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install mysql-community-server
systemctl start mysqld.service

7、删除 MySQL
安装完 MySQL 后,不需要了怎么删呢,可以用下面命令删除
yum remove mysql

不过这个命令删除后并不会完全删除 MySQL 相关的文件,剩下的可以参考上面列出的相关文件,自己手动删除。同时可以用下面命令查看还有哪些残留的 Mysql 包,用rpm -e --nodeps删除对应安装包
rpm -qa | grep mysql

三、使用 Yum 存储库安装方式的优缺点
从上面的安装过程可以看出,通过 MySQL Yum 存储库方式安装 MySQL有优点也有缺点。

优点:方便,只用少许命令就可以安装完成
缺点:需要联网安装,因为要下载安装包;只能安装对应版本的最新版,比如我上面安装的就是 MySQL 5.7.43,那如果我想安装 MySQL 5.7.28 就不行了

 

标签:配置文件,MySQL,community,CentOS7,Yum,mysql,安装
From: https://www.cnblogs.com/niway/p/17628389.html

相关文章

  • Mysql - BIGINT 数据类型
    1、bigint默认是有符号,即取值范围是正负范围比如:bigint(20),就是-1234567890123456789~+12345678901234567892、bigintunsigned无符号,即取值范围就是正值范围比如:bigint(20),就是+12345678901234567890BIGINTUNSIGNED是MySQL中一种无符号的整数数据类型,使用8个字节(64位)......
  • mysql账号密码失效后无法修改密码问题处理过程
    --修改密码alterusermeet@'%'identifiedwithmysql_native_passwordby'123456';--修改账户有效期alteruser'meet'@'%'passwordexpireinterval600day;报错处理:ERROR1396(HY000):OperationALTERUSERfailedfor'meet�......
  • mysql用户管理
     授权是在数据库服务器里添加用户并设置权限及密码-user表:保存已有的授权用户及用户对所有库的权限-db表: 保存已有授权用户对某一个库的访问权限-tables_priv:记录已有授权用户对某一张表的访问权限-columens_priv:记录已有授权用户对某一个表头的访问权限格式:创建......
  • MySQL
    Binlog(二进制日志):是逻辑日志,记录对数据库的操作改变的SQL,包括操作类型、值、时间戳、操作者等信息,还有事务的开始、提交、回滚等标记。具有平台无关性,可跨服务器、数据库引擎,但在跨平台时需要注意一些配置和环境问题。主要用于数据迁移、主从复制,以及数据恢复操作。在操作时......
  • centos7 防火墙端口开启和关闭及查看
    一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctlenablefirewalld.service(2)设置开机禁用防火墙:systemctldisablefirewalld.service(3)启动防火墙:systemctlstartfirewalld(4)关闭防火墙:systemctlstopfirewalld(5)检查防火墙状态:systemctlstatusfirewalld二......
  • 使用node_exporter方式采集MySQL慢SQL信息在grafana面板显示
    【背景说明】因为要集成监控数据,需要把MySQL的慢SQL日志信息显示在grafana,其他方法抓取慢日志然后显示到面板需要安装挺多插件,是简单的脚本采集数据,这里使用node_exporter方式实现。说明:看实际情况,方便的采集MySQL慢日志的话可以直接使用PMM来监控就行【步骤】前提:安装好prome......
  • 探索MySQL 8的事务数据字典:数据库对象信息存储
    MySQL8带来了重大的架构变革,用事务数据字典(TDD)这种更高效、更可靠的方法取代了传统的基于MyISAM引擎的系统表。这一升级极大地改进了元数据的管理和存储,从而提高了各种数据库对象的可靠性和可扩展性。本文将通过实际案例探讨MySQL8事务数据字典的复杂性、优势及其在现实生活中......
  • 技术分享 | kill掉mysqld_safe进程会影响mysqld进程?
    1、背景公司内部看到一则问题1、kill-9mysqld_safe进程2、systemd检测到mysqld_safe进程不存在后,重新拉起mysqld_safe进程3、mysqld_safe进程启动后,发现mysqld进程也被重启期望:启、停mysqld_safe进程,不会影响mysqld进程2、systemd服务启动2.1、复现问题......
  • 面试官:为什么MySQL不建议使用NULL作为列默认值?(转)
    原文:https://mp.weixin.qq.com/s/4aWKVvGTjG4Hiv2ULxQiAg来源:微信公众号“Java充电社”今天来分享一道美团高频面试题,5分钟搞懂“为什么MySQL不建议使用NULL作为列默认值?”。对于这个问题,通常能听到的答案是 使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你......
  • 开源数据库Mysql_DBA运维实战 (修改root密码)
    本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助方法1:用SETPASSWORD命令首先登录MySQL。格式:mysql>setpasswordfor用户名@localhost=password('新密码');例子:mysql>setpasswordforroot@localh......