title | shortTitle | description | category | tag | head | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MySQL 的安装、启动、连接(Windows、macOS 和 Linux) |
MySQL 安装启动连接 |
MySQL 的安装,主要有 Windows 平台和 macOS 平台,服务器上的一般就是 Linux。 |
|
|
|
MySQL 是一个关系型数据库,也是我们国内使用频率最高的一种数据库(没有之一),不管是校招还是社招,都是必考内容,并且考察项目会非常多,属于二哥一直强调的 Java 后端四大件之一。
MySQL 的学习路线戳:MySQL 的学习四阶段
对于学生党来说,我推荐大家至少在大一下半学期完成 MySQL 的学习,因为在后面做项目的时候,必然会用到 MySQL 进行 CRUD。工作党就更别提了,几乎每天的开发都会和 MySQL 打交道,掌握不了 MySQL,就不是一名称职的 CRUD 工程师(😂)。
好,要想学好 MySQL,就需要在本地先安装 MySQL,主要分为 Windows 平台和 macOS 平台,服务器(生产环境)一般就是 Linux 操作系统。
我们接下来都会给大家讲到,稍安勿躁。
从 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 为例。
直接进入 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
可以使用 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 平台通常又分为 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 可以使用 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 可以使用 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 命令的具体含义我们后面都会讲到,这里就一笔带过。
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 -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 即可免费领取。