翻开新的篇章,我们来看看MySQL。
我们会先简单的介绍
MySQL
,而后我们会按照源码/通用二进制/源安装MySQL
。
什么是MySQL
用一句话概括Mysql
服务器: MySQL
是目前流行的开源(2022年7月28日) 关系型数据库(RDBMS
),目前已经被Oralce
收购且维护,目前最新版本为MySQL 8
。
MySQL
是RDBMS
的一种,我们一般将其称之为关系数据库管理系统, 所谓的关系型数据库,其实就是面向表的数据模型,多个表组成了库,而表又是由多条记录构成,而记录又被划分为多个字段。关系数据库将数据之间的关系通过表的形式进行表达,一般使用编程语言SQL
进行查询。
目前流行的RDBMS
有
- Oracle
- MySQL
- Microsoft SQL Server
- PostgreSQL
- IBM DB2
等等
MySQL
是传统的C/S
结构,即我们在使用的过程中,我们得先启动服务器,等待客户端连接。简单来讲,客户端连接上来后,会发送数据请求,服务器处理完毕后,再返回给客户端,MySQL
通信方式为TCP/IP
和 Unix
套接字。
这里注意,只有
SQL
这个标准在各种关系型数据库中是通用的,而各大数据库所用的触发器、存储过程等都不是通用的。
MySQL历史
这里当做乐子,听一听就可以了。
MySQL
最开始的联名创始人是Monty Widenius
,MySQL
就是以女儿的名称My
命名, 从1996
年的MySQL 1.0
发布,到2008
年被Sun
公司收购,再到2010
年被Oralce
收购,一路风雨,目前MySQL
版本区分为社区版本和收费标准版本以及企业版本等,有大佬担心oralce
是否还会支持MySQL
社区版本,例如MySQL
的联名创始人,所以在MySQL
的基础上,而后又开源了一个数据库,称之为MariaDB
,同样的,Maria
也是其女儿的名称。
MySQL安装
本篇文章旨在抛砖引路而已,若需要在生产环境中构建数据库,可在详细查看文档。
这里提醒一下,不管采取何种安装方式,一定要记住
MySQL
安装目录。
前提
目前我们安装MySQL
5.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
是刚刚生成的密码,各位要复制的时候,一定要将此替换为你生成的密码才行
当然,第一次使用,会提示我们修改密码,我们暂时不必理会。
通过源安装
下载源
在进行下载的时候,需要选择相应的操作系统,例如 本次使用的操作系统是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
安装MySQL
yum -y install mysql-community-server mysql-community-devel
测试
启动MySQL
在centos 7
中,我们可以使用systemctl
进行启动即可。
初始密码在/var/log/mysqld.log
中。
systemctl start mysqld
使用客户的进入MySQL
通用二进制安装
所谓的通用二进制,其实就是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
总结
今天是阅读小册《MySQL 是怎样运行的:从根儿上理解 MySQL》的第一天,我选择以多个姿势安装MySQL
数据库,在本篇文章中,我们先简单的介绍了下MySQL
,又讲述了关于MySQL 5.7
的三种安装方式,想来学习学习么? 快来动手实践一下吧,让我们进入MySQL
的世界。赞。