Skip to content

Latest commit

 

History

History
274 lines (158 loc) · 12.4 KB

install.md

File metadata and controls

274 lines (158 loc) · 12.4 KB
title shortTitle description category tag head
MySQL 的安装、启动、连接(Windows、macOS 和 Linux)
MySQL 安装启动连接
MySQL 的安装,主要有 Windows 平台和 macOS 平台,服务器上的一般就是 Linux。
MySQL
MySQL
meta
name content
keywords
mysql,MySQL,MySQL安装

MySQL 的安装、启动、连接

MySQL 是一个关系型数据库,也是我们国内使用频率最高的一种数据库(没有之一),不管是校招还是社招,都是必考内容,并且考察项目会非常多,属于二哥一直强调的 Java 后端四大件之一。

MySQL 的学习路线戳:MySQL 的学习四阶段

对于学生党来说,我推荐大家至少在大一下半学期完成 MySQL 的学习,因为在后面做项目的时候,必然会用到 MySQL 进行 CRUD。工作党就更别提了,几乎每天的开发都会和 MySQL 打交道,掌握不了 MySQL,就不是一名称职的 CRUD 工程师(😂)。

好,要想学好 MySQL,就需要在本地先安装 MySQL,主要分为 Windows 平台和 macOS 平台,服务器(生产环境)一般就是 Linux 操作系统。

我们接下来都会给大家讲到,稍安勿躁。

MySQL 的安装

从 MySQL 的应用领域来说,MySQL 一共可以分为四个版本:

  • MySQL Community Server(社区版),我们一般都用这个版本(免费,可白嫖 😁)。
  • MySQL Enterprise Edition(企业版),需要付费,一般大型企业才会用。
  • MySQL Cluster(集群版),用于架设 MySQL 集群,一般也是大型企业才会用到,小公司一个单体的 MySQL 就够用了。
  • MySQL Cluster CGE (Carrier Grade Edition),MySQL Cluster 的高级版本,提供了额外的稳定性和性能。不在我们的讨论范围内。

从 MySQL 的发展历史来说,目前主流的版本是 MySQL 8.0,技术派项目用的就是 MySQL 8.0,不支持 MySQL 5.7(以前的主流版本,于 2023 年 10 月 31 日 终结生命周期)。

MySQL 8.0 引入了很多重大更新,包括:

  • 默认 utf8mb4 字符集,支持 emoji 表情符号。
  • InnoDB 增强,比如说自增列支持自动填充(auto_increment),消除以往重启实例自增列不连续的问题。
  • 性能增强,8.0 相比 5.7 在高并发时性能提升近 1 倍。
  • 更多新特性参照这篇

接下来的安装,我们都以 MySQL 8.0 为例。

Windows 平台

直接进入 MySQL 官网进行下载。

https://dev.mysql.com/downloads/mysql/

或者直接在搜素引擎上搜“MySQL 下载”关键字,跳转到官网。

网站会根据你的操作系统自动帮你匹配对应的版本,如下图所示。新手直接下载 MSI 安装包即可。

MSI,Microsoft Installer,一种用于在 Windows 操作系统上安装、维护和删除软件的文件格式。

当出现以下界面时,直接选择「no thanks,just start my download」即可。

下载完成后,直接双击安装(我这里只说关键步骤)。

当出现下面这一步时,选择默认的开发者模式就好(会安装 MySQL 服务器「必须」、MySQL Shell「命令行操作」、MySQL 连接器「支持编程语言和 MySQL 之间的通信」等)。

MySQL 的架构是 C/S 架构,即客户端/服务器架构,客户端负责发送 SQL 命令,服务器负责解析和执行 SQL 命令,然后返回结果给客户端。

其他的选项我就不解释了,能看懂的话就自己选择,看不懂的话默认就好(😂)。

在「高可用」界面上选择「Standalone MySql Server / Classic MySQL Replication」,意思就是我们打算让 MySQL 作为单机服务器来运行。

在「Type and Networking」界面上,选择「Development Computer」,开发计算机,占用最小资源。

「Connectivity」中如果 3306 端口被占用的情况下可以修改,但不建议,保持默认就好。

MySQL 8.0 版本可以使用强密码,本地开发随便选就好。

安装过程中会提示你输入 root 用户的密码,这个密码一定要记住,后面会用到。

在「Windows Service」界面上,可以勾选复选框让 MySQL 作为 Windows 服务运行,然后指定服务名(当开机时启动 MySQL),并作为标准系统账号。

就这样一直到 finish 就行,其他的配置不明白的话,可以参考这篇:在 Windows 上安装 MySQL

macOS 平台

可以使用 Homebrew 来安装 MySQL,但这里为了和 Windows 的安装方式前后呼应,我们这里依然使用官网下载安装包的方式。

https://dev.mysql.com/downloads/mysql/

根据自己的 macOS 是 Intel 还是 M1 芯片,选择对应的版本。

我目前的机器是 Intel 版本,所以选择 x86 架构的 64 位版本,苹果最新的芯片采用的是 ARM 架构,高级精简指令集,不懂的小伙伴可以去查一下维基百科。

也可以直接运行 uname -m 命令来查看自己的 macOS 是基于哪种架构。

安装包的安装方式几乎和 Windows 完全一样,我这里就不再赘述了。

安装完成后,会在系统偏好设置里出现一个 MySQL 的服务图标,如下图所示。

如果使用 Homebrew 安装的话,可以问一下 wrap AI,我之前有强烈推荐这个终端工具。

Linux 平台

Linux 平台通常又分为 CentOS 和 Ubuntu 两种:

  • CentOS(Community ENTerprise Operating System)是 Red Hat Enterprise Linux(RHEL)的一个免费克隆版本;使用 YUM(Yellowdog Updater Modified)作为其包管理工具。
  • Ubuntu 是基于 Debian 的 Linux 发行版;使用 APT(Advanced Packaging Tool)作为包管理工具。

不太了解这些知识的小伙伴可以自行了解一下,这里就不再一一解释了。

可以通过 cat /etc/os-release 命令来查看自己的 Linux 版本。二哥目前有两台服务器,一台腾讯云的,一台阿里云的,TencentOS 是完全兼容 CentOS 的;阿里云的是 Ubuntu。

CentOS

CentOS 可以使用 yum 命令来安装 MySQL。

# 安装命令
yum install mysql mysql-server mysql-libs

# 初始密码查找
grep "temporary password" /var/log/mysqld.log

## 输出如下
# A temporary password is generated for root@localhost: xxxx

Ubuntu

Ubuntu 可以使用 apt-get 命令来安装 MySQL。

# 安装命令
sudo apt-get install mysql-server mysql-client -y

# 注意安装过程中的初始化密码设置(若没有,则可以通过下面的方法找到初始化密码)
grep "temporary password" /var/log/mysqld.log

## 输出如下
# A temporary password is generated for root@localhost: xxxx

安装完成后,可以通过 set password 或者 update user 命令来修改 MySQL 的登录密码。

比如说,我想把 root 用户的密码修改为 123,可以通过以下命令来修改。

set password for root@localhost = password('123');

或者

use mysql;

update user set password=password('123') where user='root' and host='localhost';

flush privileges;

这些 SQL 命令的具体含义我们后面都会讲到,这里就一笔带过。

MySQL 的启动和停止

Windows 和 macOS 平台的 MySQL 安装完成后,启动或者停止服务可以直接到系统服务/偏好设置里面进行操作。

比如说 macOS 的:

Linux 的话就主要通过命令来完成,比如说。

# 启动
sudo service mysql start
# 或 sudo service mysqld start

# 关闭
sudo service mysql stop

# 重启
sudo service mysql restart

sudo(superuser do的缩写)是 Linux 下的一个命令,用于以 root 权限执行命令。

MySQL 的连接

MySQL 的连接方式主要有两种:

  • 命令行连接,MySQL 自带的
  • 图形化连接,比如说 Workbench、Navicat(Windows 版macOS 版)、DataGrip 等

命令行连接

如果 MySQL 已经安装到系统环境变量中,那么可以直接在命令行中输入 mysql -u root -p 来连接 MySQL。

如果没有安装到系统环境变量中,Windows 平台可以在 MySQL 的安装目录下的 bin 目录中找到 mysql.exe 文件,macOS 平台可以在 /usr/local/mysql/bin 目录下找到 mysql 文件。

这里以 Windows 为例,打开 cmd 命令行窗口,导航到 bin 目录。

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

然后输入 mysql -uroot -p 命令来连接 MySQL。随后输入密码就可以访问 MySQL 服务了。

如果是用 MySQL 安装包在 macOS 上安装,安装目录一般在 /usr/local/mysql,可以通过 cd /usr/local/mysql/bin 命令来进入 bin 目录,然后输入 ./mysql -uroot -p 命令来连接 MySQL。

./mysql -uroot -p 命令中的 ./ 表示当前目录,通过 ./mysql 而不是 mysql

使用 ./mysql -uroot -p 命令时,前面的 ./ 表示当前目录。通过使用 ./,可以明确告诉终端在当前目录中查找并执行 mysql 命令。

在默认情况下,终端会在系统的 PATH 环境变量中查找可执行文件。然而,由于我使用的是 MySQL 安装包而不是 homebrew,当前目录(.)不包含在 PATH 环境变量中。这意味着如果直接输入 mysql -uroot -p,终端将无法找到 mysql 命令。

通过使用 ./mysql,可以绕过了 PATH 的限制,直接指定当前目录中的 mysql 可执行文件。这样,终端就能够找到并执行该命令。

-u 表示用户名,-p 表示密码,如果密码为空,可以直接输入 mysql -uroot 命令来连接 MySQL。

图形化连接

我个人使用的是 Navicat,大家可以通过链接找到安装包,安装完成后新建连接。

然后就可以查看对应的数据库和表了。

小结

这篇内容详细地介绍了 Windows、macOS 和 Linux 平台下 MySQL 的安装和连接,算是为后面的《二哥的 MySQL 进阶之路》做好了铺垫,冲。


GitHub 上标星 10000+ 的开源知识库《二哥的 Java 进阶之路》第一版 PDF 终于来了!包括Java基础语法、数组&字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等,共计 32 万余字,500+张手绘图,可以说是通俗易懂、风趣幽默……详情戳:太赞了,GitHub 上标星 10000+ 的 Java 教程

微信搜 沉默王二 或扫描下方二维码关注二哥的原创公众号沉默王二,回复 222 即可免费领取。