MySQL的安装与配置

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL的安装与配置

今天要和大家唠唠关于数据库的那些事儿!按照加哥一贯的调性,咱还是从花边八卦聊起。先来简

单地梳理一下数据库、MySQL发展的时间线:

1970年,在IBM公司工作的数学家 E.F.Codd 发表了数学论文《大型共享数据库的关系数据模型》 ,首次提出关系和关系运算的概念,奠定了关系型数据库的理论模型。

1973年,IBM公司增加了更多的研究人员研究这个项目,这个项目就是著名的 SystemR 。

1974年, E.F.Codd 的同事 Don Chamberlin 将 Codd 的论文和关系运算,转换成为比较容易理解和使用的SQL语言,并且在后面成为所有关系型数据库的标准。

1976年,E.F.Codd 发表了一篇里程碑的论文 《R系统:数据库关系理论》,介绍了关系数据库理论和查询语言SQL。

1977年,加州大学伯克利分校的 Michael Stonebraker 和 EugeneWong 利用System R 已发布的信息开发自己的关系数据库系统 Ingres。同年,Oracle 的创始人LarryEllison 也在非常仔细地阅读了 E.F.Codd 博士的篇论文后,决定拉几个小伙伴开

公司创业。1979年,Oracle 发布了第一个商用版本(出于营销考虑,该公司对外宣称是该产品的

第二版)

1983年,IBM 发布了 DATABASE 2(DB2)for MVS(内部代号为"Eagle")

1986年,Michael Stonebraker 教授项目启动 Postgres 项目,此项目是由美国防务高级研究项目局(DARPA), 陆军研究办公室(ARO),国家科学基金(NSF), 以及ESL, Inc 共同赞助的。

1987年,Sybase 公司推出数据库产品。

1989年,Microsoft、Sybase 和 Ashton-Tate 三家公司共同开发、推出了 SQLServer 第一个版本(Ashton-Tate/Microsoft SQL Server 1.0 for OS/2),随后Microsoft 终止了与 Ashton-Tate 的合作。

1994年,Microsoft 终止了与 Sybase 的合作,在买下了 Windows NT 版本的 SQLServer 全部版权后就开始完全独立开发;同年 Andrew Yu 和 Jolly Chen 向 Postgres中增加了 SQL 语言的解释器,并随后(1995年5月1日)用新名字 Postgres95 将源代码发布到互联网上供大家使用。

1996年,MySQL 发布1.0版, 同年 Postgres95 更名为:PostgreSQL 。

2005年,MySQL 发布5.0版,加入了游标,存储过程,触发器,视图和事务的支持。

2009年,Oracle 公司以74亿美元收购Sun公司,自此 MySQL 数据库进入 Oracle 时代。2016年,Oracle 决定跳过 MySQL 5.x 命名系列,并抛弃之前的 MySQL 6,7 两个分

支(从来没有对外发布的两个分支),直接进入 MySQL 8 版本命名,也就是 MySQL

8.0 版本。

哪有什么岁月静好,现实永远是江河奔流。这里加哥还要单独说一下 Michael Stonebraker 博

士。他在加州大学伯克利分校开启 Ingres 项目时,就将所有源代码都放在了学校的FTP服务器上,并对

所有人开放。可以说 Ingres 影响了后来的几乎所有的商业数据库产品。好了,接下来回到本文的主角:MySQL 。

MySQL 是目前最受欢迎的开源的关系型数据库管理系统,她最早来源于MySQL AB公司的ISAM与

mSQL项目。与其他数据库管理系统相比,她具有以下优势:

1. MySQL是一个关系数据库管理系统;

2. MySQL是开源免费的;

3. MySQL服务器是一个高效的、可靠的和易于使用的数据库服务器;

4. MySQL服务器可以工作在客户/服务器或嵌入系统中;

5. 有大量的MySQL软件可以使用。

MySQL 的创始人Michael Widenius ,曾在2008年以10亿美元的价格,将自己创建的MySQL AB

公司卖给了Sun公司。可就在随后的2009年,Oracle又以74亿美元的价格收购了Sun公司。MySQL的所有权也就落入Oracle的手中。由于担心Oracle可能会将MySQL闭源,Michael Widenius决定离开Oracle,并领导创建了新项目MariaDB。不过十多年后的今天,我们欣喜地看到Oracle并没有扼杀MySQL,反而在不断增加MySQL的研发投入。另一面,MariaDB 近几年也是搞得红红火火、风光无限!不得不说,这真是个多赢的局面。

好了,八卦唠完,进入正题!

1.Windows下安装MySQL

1.1 下载

我们可以在MySQL官网的下载页面,下载的MySQL安装文件。

下载页面: https://dev.mysql.com/downloads/mysql/

同样是推荐大家下载zip 文件。当前的最新版是: mysql-8.0.19-winx64.zip 。相比之前的老版

本,MySQL 8.0做了很多、很大的改变。注意:接下来的操作都是基于MySQL 8.0版本的,可能并不适 用于其他较低的版本。

1.2 解压文件

我们提前创建好安装目录: D:\dev\db ,如:

将下载好的压缩包 mysql-8.0.19-winx64.zip 解压至【安装目录】,注意将 mysql-8.0.19-

winx64 重命名为 mysql:

接下来,创建目录: D:\dev\db\mysql_data 作为数据目录:

1.3 初始安装

1.3.1 初始化

以【管理员】身份打开【命令提示符】,进入【安装目录】下的【bin】目录,如:

D:/dev/db/mysql/bin

执行以下命令,初始化MySQL

mysqld --basedir=D:/dev/db/mysql --datadir=D:/dev/db/mysql_data --initialize

--console

注意: basedir MySQL的安装目录; datadir MySQL的数据目录。

如果你在执行命令时出错,提示类似下面这种信息:

代表你的系统中缺少相应的 Microsoft Visual C++ 运行时环境,加哥已经为大家准备好了

相关的安装文件,下载后挨个安装一遍就好。下载地址:https://pan.baidu.com/s/1svs7Lidmcn

hV9jvLZrVIyQ

安装好VC运行时后,请重新执行 初始化MySQL的命令。

初始化成功后,千万不要关闭命令行窗口,我们需要记录下为 root 用户自动生成的初始密码:

如上图,窗口中提示:

[Server] A temporary password is generated for root@localhost: bg5/&qyT6tf>

则本次生成的密码是: bg5/&qyT6tf> ,你也需要记录下你的密码,一会儿登录MySQL时会用到。

1.3.2 配置文件

D:/dev/db/mysql_data 目录下手动创建一个文本文件,并重命名为: mysql.ini ,作为

MySQL的配置文件。

编辑该配置文件,添加以下内容:

[client]

default-character-set=utf8mb4

port = 3306

[mysqld]

port = 3306

basedir = D:/dev/db/mysql

datadir = D:/dev/db/mysql_data

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

default-time_zone='+8:00'

default-storage-engine=INNODB

default_authentication_plugin=mysql_native_password

max_allowed_packet = 256M

max_connections=20

[mysqldump]

quick

max_allowed_packet = 256M

[mysql]

default-character-set=utf8mb4

auto-rehash

注意:MySQL 8.0 开始需要指定服务器时区,以上配置内容都是最基本的。如无必要,请勿删减。

大家可以根据实际情况,修改 port basedir datadir 等配置项的值。

1.3.3 安装服务

在命令行窗口,继续执行以下命令以安装MySQL服务:

mysqld --install MySQL --defaults-file=D:/dev/db/mysql_data/mysql.ini

1.3.4 启动服务

在命令行窗口,继续执行以下命令以启动MySQL服务:

net start MySQL

1.4 登录MySQL

1.4.1 初始登录

在命令行窗口,下输入登录命令登录MySQL

mysql -uroot -p

【回车】后,根据提示输入【1.3.1】节中,自动生成的初始密码即可登录:

1.4.2 修改密码

自动生成的初始密码不方便记忆,我们可以通过执行以下语句修改root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY

'123456';

这样,我们就将 root 用户的密码修改为: 123456 了。

可选: 如果要允许root用户远程登录,可以执行以下语句:

#root可从任何IP登录,注意修改密码'123456'

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH

GRANT OPTION;

1.5 删除服务

当我们需要卸载MySQL时,可以参照以下流程:

1. 停止 MySQL 服务,在以管理员身份打开的命令行窗口中,执行以下命令:

net stop MySQL

2. 继续执行以下命令,删除 MySQL 服务:

sc delete MySQL

至此,MySQL就已经卸载了,无任何残留。你可以继续删除: D:\dev\db\mysql

D:\dev\db\mysql_data 两个目录。但是加哥必须负责任的告诉你:数据无价,操作需谨慎!!!

2. Docker 安装MySQL

容器化 已成为事实标准的今天,我们可以方便地通过 Docker 安装MySQL。接下来加哥还是在

CentOS 7 主机,为大家做演示。

2.1 准备

加哥再次提醒各位:数据无价,操作需谨慎!!!因此,我们提前创建数据目录以存放MySQL

数据文件,如:

[root@centos ~]# mkdir /data

[root@centos ~]# mkdir /data/mysql

我们创建数据目录为: /data/mysql

2.2 拉取镜像

执行 Docker 命令,拉取最新的 MySQL 镜像:

docker pull mysql

下载时间可能会比较长,请耐心等待执行完成...

2.3 运行容器

执行 Docker 命令运行一个容器:

docker run -d --name mysql \

-p 3306:3306 \

-v /data/mysql:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

mysql:latest \

--default-authentication-plugin=mysql_native_password \

--character-set-server=utf8mb4 \

--collation-server=utf8mb4_unicode_ci

就这么简单,MySQL已经安装、运行成了!往后如果要再次启动该容器,只需执行:

docker start mysql

2.4 停止与删除

如果要停止运行中的MySQL 容器,可以执行Docker 命令:

docker stop mysql

如果要删除 MySQL 容器,可以执行 Docker 命令:

docker rm mysql

3. 总结

今天加哥又和大家唠叨了一堆关于数据库的事儿,也演示了在Windows Docker 中安装MySQL 详细步骤。希望能对你有所帮助。对比一下Windows Docker 这两种安装方式,相信大家也能感受到 Docker的强大与便捷。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
|
1月前
|
安全 关系型数据库 MySQL
mysql8安装
本文介绍了在 CentOS 7 上安装 MySQL 5.7 的详细步骤,包括下载、环境准备、系统配置、安装过程及启动方法。首先通过wget下载MySQL压缩包并解压至指定目录,接着进行主机名修改、依赖安装、用户与用户组创建、ulimit配置等环境准备工作。随后,对操作系统环境进行调整,如文件句柄和进程数的设置、内核参数优化、SELinux和防火墙的关闭等。最后,完成MySQL的安装配置,创建数据和日志目录,初始化MySQL,并设置启动脚本和环境变量,确保MySQL能够正常运行。
73 4
|
1月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
638 67
|
9天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
1月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
281 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
15天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
49 3
|
16天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
31 2
|
18天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
23天前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置

推荐镜像

更多