学习MySQL系列:1. MySQL基础知识以及安装MySQL
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
翻开新的篇章,我们来看看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安装目录。
前提
目前我们安装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 . -LHccmake .
准备工作
我们将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的世界。赞。

浙公网安备 33010602011771号