学习MySQL系列:1. MySQL基础知识以及安装MySQL

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 学习MySQL系列:1. MySQL基础知识以及安装MySQL

翻开新的篇章,我们来看看MySQL。

我们会先简单的介绍MySQL,而后我们会按照源码/通用二进制/源安装 MySQL



什么是MySQL


用一句话概括Mysql服务器: MySQL是目前流行的开源(2022年7月28日) 关系型数据库(RDBMS),目前已经被Oralce收购且维护,目前最新版本为MySQL 8


MySQLRDBMS的一种,我们一般将其称之为关系数据库管理系统, 所谓的关系型数据库,其实就是面向表的数据模型,多个表组成了库,而表又是由多条记录构成,而记录又被划分为多个字段。关系数据库将数据之间的关系通过表的形式进行表达,一般使用编程语言SQL进行查询。


目前流行的RDBMS

  • Oracle
  • MySQL
  • Microsoft SQL Server
  • PostgreSQL
  • IBM DB2

等等


MySQL是传统的C/S结构,即我们在使用的过程中,我们得先启动服务器,等待客户端连接。简单来讲,客户端连接上来后,会发送数据请求,服务器处理完毕后,再返回给客户端,MySQL通信方式为TCP/IPUnix套接字。


这里注意,只有SQL这个标准在各种关系型数据库中是通用的,而各大数据库所用的触发器、存储过程等都不是通用的。





MySQL历史


这里当做乐子,听一听就可以了。


MySQL最开始的联名创始人是Monty WideniusMySQL就是以女儿的名称My命名, 从1996年的MySQL 1.0发布,到2008年被Sun公司收购,再到2010年被Oralce收购,一路风雨,目前MySQL版本区分为社区版本和收费标准版本以及企业版本等,有大佬担心oralce是否还会支持MySQL社区版本,例如MySQL的联名创始人,所以在MySQL的基础上,而后又开源了一个数据库,称之为MariaDB,同样的,Maria也是其女儿的名称。




MySQL安装

本篇文章旨在抛砖引路而已,若需要在生产环境中构建数据库,可在详细查看文档。

这里提醒一下,不管采取何种安装方式,一定要记住MySQL安装目录。





前提

目前我们安装MySQL5.7 ,这个版本是目前使用最广的版本之一(2022年7月28日)。

我们使用的系统为: CentOS Linux release 7.9.2009 (Core)

我们一般选择MySQL社区版本下载,MySQL下载地址: dev.mysql.com/downloads/m…

MySQL源下载地址: dev.mysql.com/downloads/r…



使用源码安装


注意事项

在构建mysql 5.7的时候,我们会使用cmake进行构建,在cmake中获取帮助的方法有以下2种

在解压后的源码包路径下执行


  • cmake . -LH
  • ccmake .
准备工作

我们将mysql包下载到 /root/soft

下载源码包


在下载MySQL的时候,请选择相应版本的Source Code

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.39.tar.gz


解压

tar xf mysql-5.7.39.tar.gz


安装所需的依赖以及cmake

yum install libaio-devel cmake openssl openssl-devel ncurses-devel -y


编译安装mysql


其中

  • CMAKE_INSTALL_PREFIX: MySQL安装目录
  • WITH_BOOST: 指定boost路径
cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql-source/  -DWITH_BOOST=/root/soft/mysql-5.7.39/boost
make
make install



实例化数据目录

由于我们在编译中,没有指定datadir,所以我们得自己先实例化数据库才行。

创建MySQL数据目录

mkdir /home/mysql-source/db



MySQL数据目录初始化

最后一行会告知密码,默认为 [Note] A temporary password is generated for root@localhos: XXX

/home/mysql-source/bin/mysqld --initialize --user=root --basedir=/home/mysql-source --datadir=/home/mysql-source/db

启动MySQL

/home/mysql-source/bin/mysqld --user=root --basedir=/home/mysql-source --datadir=/home/mysql-source/db --socket=/home/mysql-source/db/mysql.sock



其中

  • user: 以什么用户运行MySQL(默认情况下,root是不可以运行MySQL的)
  • basedir: MySQL安装的目录
  • datadir: MySQL数据目录
  • socket: unix socket路径
测试

使用命令行进入MySQL

/home/mysql-source/bin/mysql -uroot -h127.0.0.1 -p'2LDWwo;AeEXm'

其中2LDWwo;AeEXm是刚刚生成的密码,各位要复制的时候,一定要将此替换为你生成的密码才行


image.png


当然,第一次使用,会提示我们修改密码,我们暂时不必理会。


通过源安装


下载源

在进行下载的时候,需要选择相应的操作系统,例如 本次使用的操作系统是centos 7,则选择el7即可。

wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
安装源

使用rpm -ivh可以安装rpm包,其中

  • -i: 安装
  • -v: 详细信息
  • -h: 打印实时安装进度条
rpm -ivh mysql80-community-release-el7-6.noarch.rpm


在源仓库中打开5.7开关

可以直接编辑/etc/yum.repos.d/mysql*.repo,将MySQL 5.7给打开,然后将MySQL 8.0给关闭。

也可以使用yum-config-manager,该工具在yum-utils中,所以得先安装该工具


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

查找MySQL

yum下,我们可以使用yum info查看当前MySQL版本

yum info mysql-community-server.x86_64


image.png

安装MySQL
yum -y install mysql-community-server  mysql-community-devel


测试

启动MySQL

centos 7中,我们可以使用systemctl进行启动即可。

初始密码在/var/log/mysqld.log中。

systemctl start mysqld


使用客户的进入MySQL

image.png


通用二进制安装

所谓的通用二进制,其实就是MySQL帮我们编译好了的版本,我们拉下来后直接初始化数据目录,就可以完成该操作。


下载通用二进制包

在下载页面,请选择Linux - Generic,选择相应包下载。

mkdir /root/soft
cd /root/soft
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz


解压至安装目录
mkdir /home/mysql-generic
tar xf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz -C /home/mysql-generic/



MySQL数据目录初始化

这里和源码安装一样,我们使用mysqld --initialize进行初始化即可

创建MySQL数据目录

mkdir /home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64/db


MySQL数据目录初始化

/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64/bin/mysqld --initialize --user=root --basedir=/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64 -
-datadir=/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64/db


初始密码,和上述一致,是出现在最后一行。

启动MySQL

/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64/bin/mysqld --user=root --basedir=/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64 --datadir=/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64/db --socket=/home/mysql-generic/mysql-5.7.39-linux-glibc2.12-x86_64/db/socket.sock


测试

使用命令行进入MySQL

image.png



总结


今天是阅读小册《MySQL 是怎样运行的:从根儿上理解 MySQL》的第一天,我选择以多个姿势安装MySQL数据库,在本篇文章中,我们先简单的介绍了下MySQL,又讲述了关于MySQL 5.7的三种安装方式,想来学习学习么? 快来动手实践一下吧,让我们进入MySQL的世界。赞。




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 存储 关系型数据库
MySQL Cluster集群安装及使用
MySQL Cluster集群安装及使用
|
18天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
存储 关系型数据库 MySQL
|
7天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
30 4
|
18天前
|
SQL 存储 关系型数据库
6本值得推荐的MySQL学习书籍
本文是关于MySQL学习书籍的推荐,作者在DotNetGuide技术社区和微信公众号收到读者请求后,精选了6本值得阅读的MySQL书籍,包括《SQL学习指南(第3版)》、《MySQL是怎样使用的:快速入门MySQL》、《MySQL是怎样运行的:从根儿上理解MySQL》、《深入浅出MySQL:数据库开发、优化与管理维护(第3版)》以及《高性能MySQL(第4版)》和《MySQL技术内幕InnoDB存储引擎(第2版)》。此外,还有12本免费书籍的赠送活动,涵盖《SQL学习指南》、《MySQL是怎样使用的》等,赠书活动有效期至2024年4月9日。
|
23天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
1天前
|
关系型数据库 MySQL 数据安全/隐私保护
安装mysql和远程连接
安装mysql和远程连接
8 0
|
1天前
|
关系型数据库 MySQL Java
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
13 2
|
3天前
|
存储 SQL 关系型数据库
MySQL学习手册(第一部分)
mysql日常使用记录
59 0
|
3天前
|
关系型数据库 MySQL Windows
windows安装MySQL5.7教程
windows安装MySQL5.7教程
13 0