数据库的安装
# 20.数据库的安装
工欲善其事,必先利其器。
# 数据库的种类
在安装数据库之前,先对数据库的种类做个介绍。
前文我们说过数据库是通过表的形式来存储数据。其实根据数据库的存储方式,还可以分为以下类型:
- 层次数据库 (Hierarchical Database,HDB ),最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾是数据库的主流,但有很多缺点。随着关系数据库的出现和普及,现在层次数据库已经很少使用了。
- 关系型数据库 (Relational Database,RDB ),关系数据库是现在应用最广泛的数据库。关系数据库在 1969 年诞生,可谓历史悠久。采用行和列组成的二维表来管理数据,简单易懂,还有专门的 SQL 对数据进行操作。
- 面向对象数据库 (Object Oriented Database,OODB ),编程语言当中有一种被称为面向对象语言的语言(包括 Java 和 C++ 等) 。把数据以及对数据的操作集合起来以对象为单位进行管理,因此得名。面向对象数据库就是用来保存这些对象的数据库。
- XML 数据库 (XML Database,XMLDB ),在互联网早期,XML 作为在网络上进行交互的数据的形式逐渐普及起来。XML 数据库可以对 XML 形式的大量数据进行高速处理。
- NoSQL:非 SQL 的数据库,包括 Redis、MongoDB 等,它们都不是关系数据库,而是有各自的存储方式。
- .......
前文我们讲的就是关系型数据库。目前,关系型数据库是主流,承担了各种应用程序的核心数据存储。而其他类型的数据库,可以认为是关系型数据库的补充,在特定场景下还是有用的。
比较具有代表性的关系型数据库有:
- Oracle:Oracle 公司出品
- SQL Server :微软公司出品
- DB2 :IBM 公司出品
- PostgreSQL :开源产品
- MySQL :开源产品(已被 Oracle 收购)
- SQLite:小巧,嵌入式数据库
- .........
MySQL 非常流行,本文主要基于 MySQL 来讲解。
注意:不同数据库之间的 SQL 可能有一点点的不同,但不必担心,只要学会了 SQL 的基本用法,用其他数据库也能很快上手。
# 安装 MySQL
MySQL 是跨平台的,可以在 Windows,Linux 或 Mac 上安装和运行,建议在本地安装,如果有云服务器的话也可以在云服务器上安装(注意开通防火墙)。
随着 MySQL 版本的更新,安装方式可能也有更新,具体以官网教程 (opens new window)为准:
如果不想看官网教程,也可以在网上搜索相关博客,教程非常之多。
MySQL 官方版本分了好几个版本(好比一款手机有旗舰款,专业款,性能不同,价格也不同):
- Community Edition:社区开源版本,免费
- Standard Edition:标准版
- Enterprise Edition:企业版
- Cluster Carrier Grade Edition:集群版
以上版本的功能依次递增,价格也依次递增。不过,功能增加的主要是监控、集群等管理功能,对于基本的 SQL 功能是完全一样的。这里我们选择社区版。
安装 MySQL,说难不难,说不容易也不容易,遇到什么问题及时在网上搜索解决方案即可。
# 通过 Docker 安装
使用 Docker 来安装是最方便的方式之一了。如果读者了解 Docker,也可以用 Docker 一键安装并启动 MySQL,参考我写的文章 Docker 常用软件安装 (opens new window)
# 在 Windows 下安装
# 下载安装包
首先从 MySQL 官方下载页面 (opens new window)下载最新的 MySQL Community Server 版本(选择对应的操作系统和版本,下载安装即可):
这里我们选择第一个,MSI(Windows 的安装包)方式来安装。其他方式是离线安装方式,这里不展开
下载的时候可能会提示是否登录,不用登录,直接下载即可:
读者也可以去我的网盘 (opens new window)上下载:
# 开始安装
下载完后,双击 msi 安装包开始安装。注意,不同版本情况下,安装界面可能有所不同。
点击 next:
点击同意协议,然后 Next
接下来是选择安装什么功能,我们选经典的即可:
等待安装完成:
# 设置 MySQL
安装完成后,接下来我们进入设置:
点击 next:
然后我们选择 config Type 为 Server Computer,这是因为我们本机会充当 MySQL 数据库服务器。Port 端口则按需配置,默认是 3306。
由于我之前已经安装过了 MySQL,用的是 3306 端口,因此这里显示有冲突,读者可以忽略
然后是设置密码。注意不允许设置太简单的密码。然后点击 Next:
然后就是配置 MySQL 为 Windows service,相当于开机自启,能通过 Windows 的可视化界面来启停 MySQL。这里不作修改,点击 Next:
然后是配置 MySQL 的数据存储目录权限,这里不做修改,点击 Next。
然后可以选择是否创建 2 个样例(Sample)数据库,这里选择创建
之前的步骤是让 MySQL 知道我们怎么配置,接下来就正式开始配置 MySQL 了,点击 Execute
# 安装完成
配置完成后点击 Next,就可以看到配置完成了,点击 Finish 完成安装
# 在 Linux 上安装
Linux 上安装软件有如下方式:
- 使用包管理器安装
- 编译好的安装包(RPM、DPKG 等)
- 压缩包解压(一般为 tar.gz)
- 自行编译源码安装
一般来说,几种安装方式最好都能掌握。这几种安装方式的容易程度:YUM > RPM > tar.gz > 源码
因此,为了省事,可以使用 Linux 发行版的包管理器。例如:
- Debian 和 Ubuntu 用户可以简单地通过命令
apt-get install mysql-server
安装最新的 MySQL 版本。 - Centos 用的是 yum
- ......
# 卸载旧 MySQL
这里选择用 Centos7,rpm 的方式来安装。其他 os 或其他方式安装请自行搜索相关博客。
先检查有没安装旧的 MySQL:
rpm -qa | grep mariadb
rpm -qa | grep mysql
2
如果有结果,则逐个删除:
rpm -e --nodeps 结果名
# 下载 yum 源
从 CentOS 7 开始,MariaDB 成为 Yum 源中默认的数据库安装包。也就是说在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 默认安装的会是 MariaDB(MySQL 的一个分支)。如果想安装官方 MySQL 版本,需要使用 MySQL 提供的 Yum 源。
先查看本机的操作系统版本
$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
2
然后在官网 (opens new window)选择对应的版本的 yum 文件进行下载,例如 CentOS 7 当前在官网查看最新 Yum 源的下载地址为: https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm (opens new window)
下载该文件后,上传到 Linux 服务器上。
# 安装 MySQL 源
语法格式:
rpm -Uvh platform-and-version-specific-package-name.rpm
检查是否安装成功
执行成功后会在 /etc/yum.repos.d/ 目录下生成两个 repo 文件 mysql-community.repo 及 mysql-community-source.repo。
并且通过 yum repolist 可以看到 mysql 相关资源
yum repolist enabled | grep "mysql.*-community.*"
!mysql-connectors-community/x86_64 MySQL Connectors Community 108
!mysql-tools-community/x86_64 MySQL Tools Community 90
!mysql80-community/x86_64 MySQL 8.0 Community Server 113
2
3
4
# 选择版本
使用 MySQL Yum Repository 安装 MySQL,默认会选择当前最新的稳定版。如果想要指定版本安装也是可以的。先查看当前 MySQL Yum Repository 中所有 MySQL 版本:
$ yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - disabled
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 234
mysql-connectors-community-source MySQL Connectors Community - disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 102
mysql-tools-community-source MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - disabled
mysql57-community/x86_64 MySQL 5.7 Community Server disabled
mysql57-community-source MySQL 5.7 Community Server - disabled
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 446
mysql80-community-source MySQL 8.0 Community Server - disabled
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
最后一列表明的是是否启用,安装时只会安装 enabled 的版本。如果有多个 enabled,则会安装最新的。
可以通过命令行的方式来启用/禁用:
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
2
除了使用 yum-config-manager 之外,还可以直接编辑 /etc/yum.repos.d/mysql-community.repo 文件
enabled 为 0 表示禁用,为 1 表示启用
[mysql-cluster-8.0-community]
name=MySQL Cluster 8.0 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-8.0-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
2
3
4
5
6
选择好版本后,可以检查当前启用的 MySQL 版本
$ yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 234
mysql-tools-community/x86_64 MySQL Tools Community 102
mysql80-community/x86_64 MySQL 8.0 Community Server 446
2
3
4
这里我们不作修改,直接用最新版 MySQL 8.
# 安装 MySQL
语法:
yum install mysql-community-server
该命令会安装 MySQL 所需的依赖,安装时间取决于网速。
随着 MySQL 的更新,安装过程可能需要一些额外的配置,遇到看不懂的错误请积极搜索相关博客。
安装完成后会在最后显示 Complete!
# 在 Mac 上安装
如果使用 Mac,可以参考:mac 下 mysql 的安装步骤 - 知乎 (opens new window),这里就不赘述了
# 相关文章
- 除了 MySQL,这些数据库你都认识么? (opens new window)
- 超级详细的 mysql 数据库安装指南 - 知乎 (opens new window)
- windows 环境下的 MySQL 安装以及基本命令-CSDN 博客 (opens new window)
- 奔跑的土豆:mac 下 mysql 的安装步骤 (opens new window)