CentOS安装MySQL 5.7 - RPM(结尾附视频)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: CentOS安装MySQL 5.7 - RPM(结尾附视频)

一、MySQL简介

MySQL是一个典型的关系数据库,目前是Oracle公司产品之一,也是目前主流使用的关系型数据库之一。使用MySQL可以进行最基本的数据存储、管理、查询等操作,也可以方便的组建数据库集群,配置读写分离。

MySQL数据库同样使用SQL(结构化查询语言)来进行操作,同时MySQL数据库自身也有很多可以直接使用的内置函数,在部分操作的语法上和其他数据库会存在区别。

二、版本选择

1. 应用场景

  • 社区版

在学习阶段,可以使用免费的社区版,这也是中小型企业会选用的一个版本,可以在官方网站直接进行下载。在社区版中,除了提供数据库服务端以外,同样提供了社区版相关组件,如官方的可视化工具、MySQL集群、各开发语言数据库驱动等,可以根据需要直接下载。

  • 企业版

MySQL企业版是提供了商用的解决方案,相关的产品除了数据库服务外,还包括:MySQL云服务、企业级数据备份、企业级防火墙、企业级数据加密等。

2. MySQL版本

目前MySQL官网提供了三个大版本的支持,5.6.x、5.7.x、8.0.x。至于说为什么直接从5.x跳到8.x笔者不得而知,但是从官网透露出的信息可以知道8.x版本相较于5.7版本,在性能方面做出了较大的改进和优化:2x Faster than MySQL5.7!

但是笔者要在这里提醒大家的是,在8.0的MySQL数据库中,对某些常用语法的细节部分也做了调整,如果准备进行升级,一定要注意兼容性的问题

而5.7版本相较于5.6版本而言,主要是进行了性能上的优化,并提供了更丰富的设置。如:新增了优化器、原生JSON支持、GIS扩展等。

三、下载地址

1. 官网地址

首先来到MySQL数据库官网,直接在百度搜索MySQL就可以找到:https://www.mysql.com/,打开之后直接点击DOWNLOADS按钮。

2. 社区版下载

进入下载界面后,点击MySQL Community(GPL)Downloads按钮进入下载界面:

选择MySQL Community Server

直击链接https://dev.mysql.com/downloads/mysql/

3. 选择版本

对于Linux平台而言而言,如果是解压安装基本没有任何差别。如果是软件包安装,在下载时一定要选择相应的版本。目前官网提供两个大的稳定版,一个是5.7,一个是8.0,本文将演示如何在CentOS 7系统下安装MySQL 5.7。

  • 进入界面后点击Looking for previous GA versions链接:

  • 依次选择操作系统 -> 系统版本 -> 需要下载的软件包

下载的软件包至少需要:common、client、lib、server。

4. 下载安装包

进入下载界面后,直接点击 No thanks,just start my download. 链接即可直接下载。

四、安装步骤

RPM软件包格式适用于所有基于RedHat内核的Linux发行版,包括CentOS等,在安装之前都要解决好依赖和冲突的问题。由于在安装系统时所选的组件不同,可能预安装的系统环境有所不同。对于CentOS系统的安装可以参考以下文章,笔者倾向于MinimalBasic Server

想要详细了解RPM的使用方法可以参考:

1. 解决依赖冲突

在安装之前先检查一下是否有历史版本,包括可能产生冲突的mariadb软件包。

rpm -qa|grep mysql
rpm -qa|grep MySQL
rpm -qa|grep mariadb

查询出软件信息后进行卸载

rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64

2. 解决依赖缺失

在CentOS系统中安装MySQL时通常会缺少Data::Dumper,需要先进行安装。

  • 有网环境

在有网的环境下,可以直接使用yum安装。

yum -y install autoconf
  • 无网环境

在无网环境下,如仅主机模式的虚拟机,可以手动下载安装包,下载地址:https://pkgs.org/download/perl(Data::Dumper)

下载后使用rpm命令进行安装:

rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm

如果在云服务器中安装MySQL,有可能还会提示缺少libaio,可以使用以下方式解决:

yum -y install libaio

安装包下载地址:https://pkgs.org/download/libaio(x86-64)

3. MySQL服务端安装

MySQL服务端的安装包为server,安装的顺序为:common -> libs -> client -> server。

rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm

安装完成后创建的配置文件存放在 /etc/my.cnf,如果需要进行一些自定义配置,可以修改该文件。

五、使用测试

1. 启动数据库服务

使用root用户来启动服务:

systemctl start mysqld.service

检查服务状态:

systemctl status mysqld.service

查看到上图状态证明启动成功。

2. 首次连接修改密码

MySQL在启动后会产生一个日志文件,存放在 /var/log/mysqld.log ,其中包含了初始密码的信息,可以通过以下命令快速找到:

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

复制时注意前后都不要有空格。

  • 使用客户端命令连接
mysql -uroot -pyt0CJ.RE1djD

  • 修改安全策略

MySQL 5.7版本会安装一个密码校验插件,要求设置的密码必须在一定的位数并且要符合密码安全策略(有一定的复杂性),在学习阶段可以先调低策略,设置为一个比较简单的密码。

验证策略修改为low(只校验密码长度):

set global validate_password_policy=0;

修改最小密码长度为4:

set global validate_password_length=4;

设置新密码:

set password = password('root');
flush privileges;
  • 使用新密码连接

修改密码后使用 exit; 退出,重新使用新密码登录测试。

mysql -uroot -p

  • 添加主机名连接规则

对于MySQL数据库,会将用户的登录密码及权限等信息存放在mysql.user表中,可以先通过以下命令查看一下:

select user,host,authentication_string from mysql.user;

为方便以后使用,可以添加一个host为本机主机名的连接规则,命令如下:

grant all privileges on *.* to root@'hadoop' identified by 'root' with grant option;
flush privileges;

3. 数据库远程连接

在Linux系统中安装好数据库以后,通常我们都会使用界面工具来进行远程连接。这个时候可以通过两种方式实现,如果只是需要通过界面工具远程查看数据库情况,可以通过SSH通道的方式连接,这样更安全。

如果需要在代码中直接连接远程数据进行调试,此时就需要在MySQL数据库中开启远程连接,也就是需要添加一个连接规则。

  • 使用SSH通道连接

对于主流的界面化工具,如Navicat,都支持该连接方式。主要过程就是先通过SSH连接到主机,然后再通过数据库参数连接到数据库,然后就可以正常使用了。所以在填写连接参数时还需要填写登录到远程主机的用户信息。

关于Navicat的常用功能可以参考:MySQL数据库界面化工具 - Navicat的常用功能

  • 开启数据库远程连接

开启远程连接时,可以指定允许连接的机器,也可以配置为允许所有,用百分号代替。开启远程连接时相当于添加了一条新的连接规则,所以指定的密码与之前设置的密码无关,方便记忆也可以设置为一致。

grant all privileges on *.* to root@'%' identified by 'root' with grant option;
flush privileges;

此时不需要设置SSH参数也可以远程连接了,但是需要保证3306端口是开放的,或者直接关闭防火墙(云服务器通过修改安全组实现)

systemctl status firewalld.service

使用mysql命令进行远程登录测试:

mysql -uroot -h192.168.251.128 -p

六、视频直达

视频地址:https://www.bilibili.com/video/BV1K54y1Y7Zr,喜欢的小伙伴儿一定要三连加关注哦~

MySQL 5.7 RPM安装 - Linux

写在结尾:作者力求做到将每个知识点细化,并且对于有关联的知识点都会使用传送门挂载链接。文章采用:“文字 + 配图 + 视频”的方式来进行展现,均是挤时间所作,希望看到这里能留下评论点个赞,略表支持!

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
36 16
|
13天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
59 14
|
10天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
46 7
|
20天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
45 3
|
20天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
48 3
|
20天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
66 2
|
1月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
217 15
|
27天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
1月前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
1月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。