MySQL概述以及下载安装

news2024/12/13 16:09:02

MySQL5.7概述以及下载安装(centOS7)

一、MySQL简介

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

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

二、版本选择

1. 应用场景

社区版

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

1

企业版

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

2

2. MySQL版本

目前MySQL官网提供了三个大版本的支持,5.6.x、5.7.x、8.0.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按钮。

3

2. 社区版下载

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

4

选择MySQL Community Server

5

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

3. 选择版本

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

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

6

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

下载的软件包需要:common、client、libs、server。

4. 下载安装包

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

8

windows下载后的截图

9

四、安装步骤

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

1. 解决依赖冲突

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

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

10

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

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

11

2. 解决依赖缺失

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

注意:(后续需要什么我们按照同样方式安装即可)

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

yum -y install autoconf

3. MySQL服务端安装(先拍个快照再安装)

将下载的rpm包上传至Linux服务器中

12

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

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

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm

13

rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm

14

rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm

15

rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm(到这里可能会报错,如下图所示:)

16

只需要把对应的包安装一下即可

yum install net-tools

再执行就可以了

rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

17

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

五、使用测试

1. 启动数据库服务

使用root用户来启动服务:

systemctl start mysqld.service

检查服务状态:

systemctl status mysqld.service

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

18

2. 首次连接修改密码

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

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

19

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

使用客户端命令连接

两种方式登录mysql:

1、mysql -uroot -p密码

2、mysql -uroot -p

​ 在下一行输入密码登录,只不过输入的密码看不见,仅此而已

20

修改安全策略

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

set global validate_password_policy=0;

修改最小密码长度为4:

set global validate_password_length=4;

设置新密码:

set password = password('123456');
flush privileges;

21

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

mysql -uroot -p

22

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

select user,host,authentication_string from mysql.user;

23

为方便以后使用,添加任意主机的连接规则,命令如下:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3. 数据库远程连接(课程使用Navicat)

在Linux系统中安装好数据库以后,通常我们都会使用界面工具来进行远程连接。这个时候可以通过两种方式实现,如果只是需要通过界面工具远程查看数据库情况,可以通过SSH通道的方式连接,这样更安全。
如果需要在代码中直接连接远程数据进行调试,此时就需要在MySQL数据库中开启远程连接,也就是需要添加一个连接规则。

DENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3. 数据库远程连接(课程使用Navicat)

在Linux系统中安装好数据库以后,通常我们都会使用界面工具来进行远程连接。这个时候可以通过两种方式实现,如果只是需要通过界面工具远程查看数据库情况,可以通过SSH通道的方式连接,这样更安全。
如果需要在代码中直接连接远程数据进行调试,此时就需要在MySQL数据库中开启远程连接,也就是需要添加一个连接规则。

24

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2258864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中粮凤凰里共有产权看房记

中粮凤凰里看房是希望而来,失望而归。主要是对如下失望,下述仅个人看房感受: 1. 户型不喜欢:三房的厨房和餐厅位置很奇葩 2. 样板间在25楼:湖景一言难尽和有工厂噪声 3. 精装修的交房质量:阳台的推拉门用料很草率 …

轮播(css+js)

目录 1.实现效果 2.基础代码演示 2.1js代码 2.1css样式 2.3实现效果 3.实现点击切换 3.1给button添加点击事件 3.2效果图如下 3.3发现问题 3.3.1不循环 3.3.2循环 1.实现效果 2.基础代码演示 2.1js代码 <div class"out-box"><div class"tes…

深度学习(2)前向传播与反向传播

这一次我们重点讲解前向传播与反向传播&#xff0c;对这里还是有点糊涂 前向传播&#xff08;Forward Propagation&#xff09;和反向传播&#xff08;Backward Propagation&#xff09;是深度学习中神经网络训练的核心过程。它们分别负责计算神经网络的输出以及更新神经网络的…

HTML5 拖拽 API 深度解析

一、HTML5 拖拽 API 深度解析 1.1 背景与发展 HTML5 的拖拽 API 是为了解决传统拖拽操作复杂而设计的。传统方法依赖鼠标事件和复杂的逻辑计算&#xff0c;而 HTML5 提供了标准化的拖拽事件和数据传递机制&#xff0c;使得开发者能够快速实现从一个元素拖拽到另一个元素的交互…

前端自己也能开启HTTPS

目录 前言 使用mkcert 安装 创建证书 利用 mkcert 创建 ca 根据 ca 创建 cert 安装证书 项目开启HTTPS 安装插件 配置 vitecofnig.js 最终效果 前言 今天我发现了一个宝藏&#xff0c;兄弟们&#xff01;就是前端开发阶段是可以使用https来开发的。对不懂前端的后端兄…

精通 Python 网络安全

与 FTP、SSH 和 SNMP 服务器交互 本章将帮助您了解允许我们与 FTP、SSH 和 SNMP 服务器交互的模块。在本章中&#xff0c;我们将探讨网络中的计算机如何相互交互。一些允许我们连接 FTP、SSH 和 SNMP 服务器的工具可以在 Python 中找到&#xff0c;其中我们可以突出显示 FTPLi…

【C++跬步积累】 —— 二叉搜索树(模拟实现+源代码)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;C跬步积累 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日一题 &#x1f7e1; Linux跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0…

Redis安装和Python练习(Windows11 + Python3.X + Pycharm社区版)

环境 Windows11 Python3.X Pycharm社区版 思路 1 github下载redis压缩包 &#xff0c;安装并启动redis服务&#xff0c;在客户端连接redis服务。 2 在pycharm中运行python程序&#xff0c;连接redis服务&#xff0c;熟悉redis的使用和巩固python语言。 3 python开发环境…

【电子通识】能用5V电源去驱动线圈电压12V的继电器吗?

最近新人在使用继电器做一些工装&#xff0c;选择的是一款汽车级的继电器JZC-32F/012-ZS3(555) 。其原因主要是因为封装小&#xff0c;通流能力也OK。 但因为产品是5V USB-TypeC接口供电的&#xff0c;所以他想用5V电源去驱动继电器&#xff0c;从而减少一个电源输入或是电源升…

先进电机拓扑及控制算法介绍(2)——开绕组电机拓扑的容错控制

1.引言 共直流母线开绕组电机拓扑通过打开绕组中性点&#xff0c;电机绕组可由单逆变器供电改为双逆变器供电&#xff0c;这可以将电机的调速范围扩大为原来的两倍&#xff08;考虑到三次谐波反电势的因素&#xff0c;最低也可以把转速扩大为原来的根号3倍&#xff09;。扩大转…

️️️ 避坑指南:如何修复国密gmssl 库填充问题并提炼优秀加密实践20241212

&#x1f6e1;️ 避坑指南&#xff1a;如何修复国密gmssl 库填充问题并提炼优秀加密实践 ✨ 引言 在当下的数据安全环境中&#xff0c;SM4作为中国国家密码算法的代表性选择&#xff0c;被广泛应用于金融、通信和政府领域。然而&#xff0c;在实际开发中&#xff0c;即便是开…

C++ webrtc开发(非原生开发,linux上使用libdatachannel库)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、libdatachannel库的下载和build二、开始使用 1.2.引入库3.开始使用 总结 前言 使用c开发webrtc在互联网上留下的资料甚少&#xff0c;经过我一段时间的探…

【工具】linux matlab 的使用

问题1 - 复制图表 在使用linux matlab画图后&#xff0c;无法保存figure。 例如在windows下 但是在linux下并没有这个“Copy Figure”的选项。 这是因为 “ The Copy Figure option is not available on Linux systems. Use the programmatic alternative.” 解决方案&…

系统思考—本质

“执行力不足&#xff0c;真的是问题的根本吗&#xff1f;” 最近我和不少企业创办人交流时&#xff0c;大家普遍提到“执行力”的问题&#xff0c;但我发现&#xff0c;背后其实隐藏着更深层次的原因。当我用系统思考的视角深入拆解时&#xff0c;执行力不足&#xff0c;未必…

模方如何置平处理模型表面?

(1) 点击“多边形绘制“后在编辑模型视图中通过绘制多边形对 OBJ 进行编辑&#xff0c;将立面进行置平处理 选择需要表面置平的范围 (2) 点击“置平“即可看到效果

AAAI 2025 camera ready提交注意事项

您必须在截止日期前填写、签署并返回 AAAI 版权表&#xff08;除非 AAAI Press 指示使用 AAAI 分发许可证&#xff09;。 您必须根据作者的格式说明阅读并格式化您的论文和 PDF。 您必须使用我们的电子提交表格准时提交您的电子文件和摘要。 您必须向 AAAI Press 支付任何所需的…

QT核心功能概览

QT的学习&#xff08;一&#xff09;如何查阅QT文档&#xff1f;&#xff08;以QPushButton为例&#xff09;_qt的组件在qt文档那里面看-CSDN博客 QPushButton Class | Qt Widgets 5.15.18 一、前言 QT虽说功能很庞大&#xff0c;但是常用的控件也不是很多&#xff0c;也就只…

opencv——图片矫正

图像矫正 图像矫正的原理是透视变换&#xff0c;下面来介绍一下透视变换的概念。 听名字有点熟&#xff0c;我们在图像旋转里接触过仿射变换&#xff0c;知道仿射变换是把一个二维坐标系转换到另一个二维坐标系的过程&#xff0c;转换过程坐标点的相对位置和属性不发生变换&a…

动态流程图制作方法

动态流程图制作方法 1.方法1 有各种 echars模板 可以自己改代码 https://www.isqqw.com/viewer?id42201echars 在线生成 https://codevtool.com/echarts2. 方法2电脑软件&#xff0c;画图的。 《亿图图示》

H.323音视频协议

概述 H.323是国际电信联盟&#xff08;ITU&#xff09;的一个标准协议栈&#xff0c;该协议栈是一个有机的整体&#xff0c;根据功能可以将其分为四类协议&#xff0c;也就是说该协议从系统的总体框架&#xff08;H.323&#xff09;、视频编解码&#xff08;H.263&#xff09;、…