热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL之第一次邂逅MySQL

现在我们开始学习互联网公司广泛使用的MySQL数据库,掌握了这种具有开源基因的数据库后,将为我们的DBA技术职业发

 

点击“蓝字”关注我们

晟数学院DBA成长日记--MySQL篇

前言

立志于成为合格DBA的童鞋们,我们已经完成了Linux基础,SQL语言与PL/SQL语言等相关知识的储备。现在我们开始学习互联网公司广泛使用的MySQL数据库,掌握了这种具有开源基因的数据库后,将为我们的DBA技术职业发展提供更大的竞争力。


MySQL的历史

MySQL 数据库最早由 MySQL AB 公司开发。MySQL AB 是由 MySQL 创始人和主要开发人员创办的公司。其最初是由 David Axmark、Allan Larsson 和 Michael “Monty” Widenius 在瑞典创办的。

MySQL 的历史最早可以追溯到1979年,后于2008年1月16日被 Sun 公司收购,最后随着2009年04月20日Oracle收购 Sun 公司,从而几经辗转的 MySQL 最终转入Oracle 门下。



MySQL名称的由来

MySQL 名称的由来最可靠的版本是,以联合创始人Monty Widenius 的女儿“My”所命名。但并没有官方的最终声明。



MySQL的海豚 Logo

MySQL Dolphin(MySQL的Logo)的名称是“Sakila”,它是由MySQL AB的创始人从“海豚命名”比赛中,用户所建议的大量名单中选出的。获奖名称由非洲 斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,女性化名字Sakila的根源在于斯威士兰当地的语言SiSwati。Sakila也是坦桑尼亚阿鲁沙一个小镇的名字,靠近Ambrose的母国乌干达。



MySQL的发音

“MySQL” 的官方发音是 “My Ess Que Ell” (而不是 “my sequel”),但没有人会介意你将它发音为 “my sequel”  或 其他一些本地读音的方式。好用就行,还在乎名字做啥。


MySQL的特点

MySQL是当今炙手可热的数据库之一其在众多互联网企业中有广泛的应用。它有诸多的特性:

  • MySQL 是一个数据库管理系统,擅长数据的结构化处理。

  • MySQL 数据库是关系型的,数据存储在二维表中。

  • MySQL 使用结构化查询语言对数据进行访问和处理。

  • MySQL 软件是开源的。开源意味着任何人都可以使用和修改软件。任何人都可以从互联网上下载MySQL软件并使用它而无需支付任何费用。这也是互联网企业使用他的原因之一。

  • MySQL 数据库服务器非常快速,可靠,可扩展且易于使用。当然你懂的,这些都是有前提的。

  • MySQL 服务器适用于客户端/服务器或嵌入式系统。

  • MySQL 可以选择大量的配套软件。

  • MySQL支持多种存储引擎,可以灵活选择与配置。使用不同的存储引擎,就可以使用相应的功能与特性。

MySQL的安装准备

1. 企业版与社区版

MySQL 提供企业版和社区版。两者的区别也很明显:

  • 企业版需要授权才可以用于商业目的,并提供大量功能和配套工具。

  • 社区版则是开源版本,提供源代码的下载,且不收取费用。

2. 安装介质的下载

我们可以通过如下地址下载MySQL的安装介质:

https://www.mysql.com/downloads/

在上图的下载页面中,可以看到企业版和社区版的下载页面,如果下载企业版,则会进入oracle的edelivery.oracle.com 网站进行下载工作,

如下图所示:

3. 选择版本

当前可以下载到的最高版本为: MySQL 8.0.16,在准备安装 MySQL 时,我们首先要确定安装的版本和分发的格式。

安装的版本可以选择:

  • 开发版

  • 通用版(GA)版本

开发版本具有最新功能,但不建议用于生产。GA版本,也称为生产版或稳定版,适用于生产用途。我们建议使用最新的GA版本。


在 MySQL 8.0 中的命名方案中,使用由三个数字和一个可选后缀组成的版本名称(例如,mysql-8.0.1-dmr)。版本名称中的数字解释如下:


第一个数字(8)是主要版本号。

第二个数字(0)是次要版本号。因此说,主要和次要数字构成了发行系列号。系列号描述了稳定的功能集。

第三个数字(1)是发行系列中的版本号。对于每个新的错误修复版本,这都会增加。在大多数情况下,系列中的最新版本是最佳选择。


版本名称还可以包含后缀以指示版本的稳定性级别。通过一组后缀在一系列进程中释放,以指示稳定性级别如何提高。可能的后缀是:


  • dmr表示开发里程碑版本(DMR)。MySQL开发使用里程碑模型,其中每个里程碑都引入了一小部分经过全面测试的功能。从一个里程碑到下一个里程碑,根据尝试这些早期版本的社区成员提供的反馈,功能界面可能会发生变化,甚至可能会删除功能。里程碑版本中的功能可被视为具有产前质量。

  • rc表示候选发布者(RC)。通过MySQL的所有内部测试后,发布候选版本被认为是稳定的。RC版本中可能仍会引入新功能,但重点转移到修复错误以稳定系列早期介绍的功能。

  • 缺少后缀表示一般可用性(GA)或生产版本。GA版本是稳定的,已成功通过早期版本阶段,并且被认为是可靠的,没有严重的错误,并且适用于生产系统。


每一个版本的开发,始于DMR版本,随后是RC版本,最后达到GA状态版本。

4. 选择分发格式

选择要安装的 MySQL 版本后,接下来要确定安装哪种分发格式。

  • 对于大多数用例,二进制分发是正确的选择。对于许多平台,二进制发行版以本机格式提供,例如 Linux 的 RPM 软件包或 OS X 的 DMG 软件包。分发版也可以采用更通用的格式,例如 Zip 存档或压缩的tar文件。在Windows上,您可以使用MySQL 安装程序来安装二进制分发版。

  • 在如下情况下,从源代码发行版安装MySQL更加适合:

  • 指定具体安装位置时。标准二进制发行版已准备好在任何安装位置运行,但您可能需要更灵活地将MySQL组件放置在您想要的位置。

  • 使用未包含在标准二进制分发版中的功能来配置mysqld。

  • 在没有标准二进制分发版中包含的某些功能的情况下配置mysqld。

  • 读取或修改构成MySQL的C和C ++代码。

  • 源代码分发包含比二进制分发更多的测试和示例。

总结

本次我们分享了MySQL的发展历史和安装前的准备工作,这些工作将对接下来的MySQL安装过程,提供更多的有利条件。

推荐阅读

PL/SQL 之 程序包 和 动态SQL

晟数学院DBA成长日记

PL/SQL 之 触发器(下篇)

数学院DBA成长日记

PL/SQL 之 触发器(上篇)

数学院DBA成长日记

记得长按上方二维码关注我们~


推荐阅读
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文详细介绍了如何在Azure DevOps Services和Azure DevOps Server中调整时区设置,以及这些设置对不同功能的影响。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
author-avatar
姚姚姚YTLLL
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有