【MySQL_02】安装(8.4.4LTS : Windows + Linux)

历史文章点击👉:SQL

🐈‍⬛github:https://github.com/mysql

💻官网: https://www.mysql.com

🌏维基百科:https://zh.wikipedia.org/wiki/MySQL

一、版本说明

按许可证分类:

版本特点优势适用场景
社区版(Community Edition免费开源,基于 GPL 许可证,适合中小型企业、开发环境。无成本,适合预算有限的项目;社区支持活跃,文档丰富。中小型企业、开发环境、个人项目、教育用途。
企业版(Enterprise Edition)付费版,提供完整功能和技术支持,包含高级工具和服务。包括备份工具、高级安全功能(如数据加密、审计日志)、性能监控和调优工具;官方技术支持。大型企业、高安全性需求场景、关键业务系统。
集群版(Cluster Edition)开源免费,基于 GPL 许可证,支持分布式数据库架构和高可用性。支持高可用性和分布式数据库架构;适合需要横向扩展的场景。需要高可用性和扩展性的场景,如 Web 应用、物联网。
高级集群版(Cluster CGE)需付费,提供高级集群功能和技术支持,基于 MySQL NDB Cluster。提供更强大的集群管理功能、高可用性和实时性能优化;官方技术支持。大型企业、高并发和高可用性需求的场景,如金融、电信。
嵌入式版(Embedded Edition)免费开源,专为嵌入式系统设计,占用资源较少。轻量级,适合资源受限的环境;易于集成到应用程序中。嵌入式系统、IoT 设备、移动应用。
经典版(Classic Edition)旧版 MySQL,基于 MyISAM 存储引擎,现已逐渐淘汰。简单易用,适合传统应用。旧系统维护、传统应用迁移。

主要版本号:

版本发布时间主要特性
MySQL 5.52010年InnoDB 成为默认存储引擎。
MySQL 5.62013年支持全文索引、GTID 复制等。
MySQL 5.72015年支持 JSON 数据类型、性能优化、安全性提升。
MySQL 8.02018年支持 UTF-8mb4 字符集、窗口函数、增强的 JSON 功能。
MySQL 8.42024年4月长期支持版本(LTS)。
MySQL 9.22025年1月最新创新版本( Innovation),带来了大量针对 JavaScript 和存储程序的改进。

版本后缀:

后缀含义
GA (General Availability)正式发布版本,稳定且可用于生产环境。
RC (Release Candidate)候选发布版本,接近正式版,但仍可能存在未发现的 bug。
Beta测试版本,功能基本完成,但可能存在较多 bug,不建议用于生产环境。
Alpha早期测试版本,功能不完整,仅用于开发和测试。
LTS (Long-Term Support)长期支持版本,提供长时间的安全更新和技术支持。
Innovation创新版本,引入新功能和实验性特性,适合开发者和早期采用者。
DMR (Development Milestone Release)开发里程碑版本,用于展示新功能和改进,通常不稳定。

安装包格式:

后缀含义
Source源代码版本,需手动编译安装。
Compressed压缩版本,通常以压缩包形式提供,需解压后使用。
RPM (Red Hat Package Manager)适用于 Red Hat 系列 Linux 系统的安装包格式。
DEB (Debian Package)适用于 Debian 系列 Linux 系统的安装包格式。
MSI (Microsoft Installer)适用于 Windows 系统的安装包格式。
DMG (Disk Image)适用于 macOS 系统的安装包格式。

二、官网下载

🔹🔹下载可能需要登录Oracle账户,自己注册即可。

🟢本文安装第一小节里面标红的版本,即社区版、LTS,操作系统为Windows和Linux(MacOS安装相应的版本即可)。

再MySQL官网点击Downloads即可选择要下载的内容。

比如在Downloads界面下方选择社区版:MySQL Community (GPL) Downloads »

进去有很多选项:本文主要下载的是MySQL Community Server这一项。

☘️其它选项说明:

类别名称说明
MySQL 下载源MySQL Community DownloadsMySQL 社区版的官方下载页面。
MySQL Yum Repository适用于基于 RPM 的 Linux 系统(如 CentOS、RHEL)的 Yum 仓库。
MySQL APT Repository适用于基于 Debian/Ubuntu 系统的 APT 仓库。
MySQL SUSE Repository适用于 SUSE Linux 系统的仓库。
MySQL 核心产品MySQL Community ServerMySQL 的免费开源数据库服务器。
MySQL NDB ClusterMySQL 的高可用性、实时集群解决方案。
MySQL Router用于将应用程序流量路由到 MySQL 服务器的轻量级中间件。
MySQL ShellMySQL 的高级命令行客户端,支持 JavaScript、Python 和 SQL。
MySQL Operator用于在 Kubernetes 上管理 MySQL 集群的 Operator。
MySQL NDB Operator用于在 Kubernetes 上管理 MySQL NDB 集群的 Operator。
MySQL WorkbenchMySQL 的官方图形化管理工具,支持数据库设计、开发和管理。
MySQL 安装工具MySQL Installer for WindowsWindows 平台上的 MySQL 安装工具,支持安装多个 MySQL 产品和组件。
C API (libmysqlclient)MySQL 的 C 语言客户端库,用于开发 MySQL 应用程序。
Download ArchivesMySQL 的历史版本下载存档。
MySQL 连接器Connector/C++用于 C++ 的 MySQL 连接器。
Connector/J用于 Java 的 MySQL 连接器(JDBC 驱动)。
Connector/NET用于 .NET 平台的 MySQL 连接器。
Connector/Node.js用于 Node.js 的 MySQL 连接器。
Connector/ODBC用于 ODBC 的 MySQL 连接器。
Connector/Python用于 Python 的 MySQL 连接器。
MySQL Native Driver for PHP用于 PHP 的 MySQL 原生驱动(mysqlnd)。
其他工具和数据MySQL Benchmark Tool用于测试 MySQL 性能的工具。
Time zone description tablesMySQL 的时区描述表,用于支持时区功能。

较新的版本(2025-03-05):https://dev.mysql.com/downloads/mysql/

历史版本下载:https://downloads.mysql.com/archives/community/

(上面的连接都是MySQL官网的,若失效,官网下载即可)

选择版本和操作系统即可:
在这里插入图片描述

三、Windows安装

3.1 安装和配置

下载上图中的 8.4.4 LTS Windows MSI安装包。

双击安装,这里先安装typical版本吧,后面需要其它组件再安装即可。

安装完后,不要取消勾选进入Configuratior,然后完成,即可进入配置向导。

每个选项基本都有小字说明的,仔细看看就明白了。

取消勾选了也没事,自己打开即可:
在这里插入图片描述

后面要修改MySQL的设置,再次打开MySQL Configuratior修改就行了。

(1)自己设置数据保存目录:
在这里插入图片描述
(2)配置类型和网络:

  • 配置类型(Config Type

    • Development Computer:开发环境,占用较少资源,适合个人开发或测试。
    • Server Computer:服务器环境,优化性能,适合中小型应用。
    • Dedicated Computer:专用服务器,最大化性能,适合大型应用或高并发场景。
  • 连接性

    • 打开或关闭TCP连接,以及设置相应的端口。
    • Named Pipe 是一种用于进程间通信(IPC)的机制,适用于 Windows 系统。它允许客户端和服务器通过一个命名的管道进行通信。
    • Shared Memory 是另一种本地通信机制,适用于 Windows 系统。它通过共享内存区域实现客户端和服务器之间的高效数据传输。
  • Advanced Configuration 暂时不打开,是一些高级的设置。

在这里插入图片描述

(3) root账户密码设置-添加账户

设置root账户密码,以及添加其它用户。

暂时没有添加用户,比如你的用户只能查询,就可以添加一个相应的用户。
在这里插入图片描述

(4)Windows Service选项

在 Windows 系统上,MySQL 可以作为服务运行。通过将 MySQL 配置为 Windows 服务,可以实现 MySQL 的自动启动、停止和管理。

配置成Windows服务的好处就是: 服务可以设置为随 Windows 系统启动,无需手动启动 MySQL 服务器;可以后台运行等等。

选择配置:可以设置服务名称、是否开机自启动、以什么身份运行。

这里暂时不配置(不勾选),看实际需求即可。

(5)服务器文件权限:

可以运行所有用户,也可以自己设置。比如我选中系统和我当前登录的账户14143,(绿色箭头移动用户,左边有完全控制权限,右边没有)
在这里插入图片描述

(6)安装示例数据

就按照一些示例的数据库,给你学习、测速用。好多软件都有这个选项的。

  • world: 包含国家、城市和语言信息。
  • sakila: 模拟一个 DVD 租赁商店的数据库。

我都选上了:
在这里插入图片描述

(7)应用以上选项

点击Execute即可应用前面的选项,等待完成即可。
在这里插入图片描述
在这里插入图片描述

后面要修改MySQL的设置,再次打开MySQL Configuratior修改就行了。

3.2 后续操作

3.21 使用自带命令行客户端

安装之后会自带一个客户端:

在这里插入图片描述
进去,输入之前设置的密码即可看到MySQL 的命令行提示符:
在这里插入图片描述


一些简单语句:

查看所有数据库:

SHOW DATABASES;

创建新数据库:

CREATE DATABASE mydatabase;

使用某个数据库:

USE mydatabase;

查看当前数据库中的表:

SHOW TABLES;

创建表:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(100)
);

插入数据:

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

查询数据:

SELECT * FROM users;

删除数据:

DELETE FROM users WHERE id = 1;

退出 MySQL 命令行:

EXIT;

示例:之前安装的时候我安装了2个可选的数据库:worldsakila

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.01 sec)

mysql> use sakila;
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_sakila           |
+----------------------------+
| actor                      |
| actor_info                 |
| address                    |
| category                   |
| city                       |
| country                    |
| customer                   |
| customer_list              |
| film                       |
| film_actor                 |
| film_category              |
| film_list                  |
| film_text                  |
| inventory                  |
| language                   |
| nicer_but_slower_film_list |
| payment                    |
| rental                     |
| sales_by_film_category     |
| sales_by_store             |
| staff                      |
| staff_list                 |
| store                      |
+----------------------------+
23 rows in set (0.01 sec)

mysql> select * from actor;
+----------+-------------+--------------+---------------------+
| actor_id | first_name  | last_name    | last_update         |
+----------+-------------+--------------+---------------------+
|        1 | PENELOPE    | GUINESS      | 2006-02-15 04:34:33 |
|        2 | NICK        | WAHLBERG     | 2006-02-15 04:34:33 |
|        3 | ED          | CHASE        | 2006-02-15 04:34:33 |
|        4 | JENNIFER    | DAVIS        | 2006-02-15 04:34:33 |
|        5 | JOHNNY      | LOLLOBRIGIDA | 2006-02-15 04:34:33 |
|        6 | BETTE       | NICHOLSON    | 2006-02-15 04:34:33 |
|        7 | GRACE       | MOSTEL       | 2006-02-15 04:34:33 |
|        8 | MATTHEW     | JOHANSSON    | 2006-02-15 04:34:33 |
|        9 | JOE         | SWANK        | 2006-02-15 04:34:33 |
后面省略

除了安装的2个示例数据库,还有几个其他的:

Database用途是否可修改示例查询
information_schema存储 MySQL 服务器的元数据,如数据库、表、列、权限等信息。只读SELECT * FROM information_schema.TABLES;
mysql存储 MySQL 的系统数据,如用户权限、插件、日志等。可修改SELECT user, host FROM mysql.user;
performance_schema存储 MySQL 服务器的性能监控数据,用于分析和优化性能。只读SELECT * FROM performance_schema.events_statements_summary_by_digest;
sakila示例数据库,模拟 DVD 租赁商店的业务场景,适合练习 SQL 查询。可修改SELECT * FROM sakila.customer LIMIT 10;
sys基于 performance_schemainformation_schema,提供更易读的性能监控视图。只读SELECT * FROM sys.session;
world示例数据库,包含国家、城市和语言的数据,适合练习 SQL 查询。可修改SELECT * FROM world.city WHERE CountryCode = 'USA';

3.22 添加环境变量

添加环境变量后就可以在其它地方使用mysql了,比如powershell、cmd等等。

这个也是很多软件的常规操作,把bin目录(即二进制可执行文件目录)添加到环境变量即可。

在任意mysql相关软件上右键打开文件所在位置:
在这里插入图片描述
复制这个目录,添加到环境变量即可:
在这里插入图片描述

现在就可以在power shell连接了:

 mysql -u root -p

在这里插入图片描述

3.33 安装图像化界面

数据库的 命令行是用的比较少的,界面稍多,编程语言最多。

界面,就是把命令换成界面的点点点了,你自己都可以写一个界面。不过这里介绍的是大家常用的两个,还有其它的,也可以去搜一搜。

工具名称平台支持特点适用场景
MySQL Workbench跨平台功能全面,官方支持开发者、DBA
phpMyAdminWeb 端基于 Web,适合远程管理Web 开发者、小型团队
HeidiSQLWindows轻量级、开源个人开发者
DBeaver跨平台支持多种数据库多数据库用户
Navicat for MySQL跨平台功能强大,企业级支持企业用户、开发者
Sequel PromacOS专为 macOS 设计macOS 用户
AdminerWeb 端轻量级、单文件简单管理需求
DataGrip跨平台专业数据库 IDE专业开发者、团队
SQLyogWindows功能丰富Windows 用户
Beekeeper Studio跨平台开源、现代界面个人开发者、小型团队
3.33.1 MySQL WorkBench

这是官方的。

链接:https://dev.mysql.com/downloads/workbench/

自己安装即可。没啥可说的。


先确保mysql是运行的。

点击新建连接:连接名称自己设置,后面是地址、端口、用户名、密码这些,自己填即可。完成后就会出现下图左边所示的连接(test),点击即可进入。
在这里插入图片描述

点击左下方的Schemas即可看到默认存在的数据库,我在表actor上右键选择前1000行,即可自动生成查询语句和结果。

在这里插入图片描述


软件汉化自己搜即可。

3.33.2 Navicat

官网:https://www.navicat.com.cn/

学生可以申请优惠。

这个支持很多数据库:

在这里插入图片描述

这软件还是挺好用的:
在这里插入图片描述

四、Linux安装

4.1 安装

本文使用Ubuntu22.04

🟢 官方教程文档:https://dev.mysql.com/doc/refman/8.4/en/linux-installation-apt-repo.html

我基本上就是搬过来了。


☘️ (1)新建一个暂存目录(非必须):

mkdir mysql_temp
# 进入
cd mysql_temp

☘️ (2)下载mysql apt 的存储库文件

ubuntu就是apt包管理器,你下载软件的时候,要配置源,即从哪里下载这个软件。这一步的功能就是设置从哪里下载mysql的。

还是mysql官网,downloads,页面下方MySQL Community (GPL) Downloads »,之后进入下面这个页面:
在这里插入图片描述
debian,Ubuntu 就进入APT的仓库,其它的进入相应的仓库即可。

在这个下载按钮上右键,复制链接:
在这里插入图片描述

然后在Ubuntu上下载即可:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb

wget的自己apt安装一下即可。

☘️ (3)安装下载的deb包

后面的名字以实际下载的为准。

sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb

安装过程需要选择你要安装的包:

前两个选项,enter,进去选择即可。选完了,再选中第三行的OK,回车,即可。
在这里插入图片描述

☘️ (4)更新apt 源

sudo apt update

在这里插入图片描述

☘️ (5)安装

sudo apt install mysql-server

这将安装 MySQL 服务器的软件包以及客户端和数据库公共文件的软件包。

在安装过程中,系统会要求您为 MySQL 安装的 root 用户提供密码。密码要记住哦。


🟢 (6)运行

安装完之后应该会自动运行的。

但也有例外,比如mysql默认端口是3306,如果这个端口已经被其它应用占用了,就无法运行了。

比我的docker已经使用了3306端口:

ubuntu@VM-12-15-ubuntu:~/mysql_temp$ sudo lsof -i :3306
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 5833 root    4u  IPv4  26444      0t0  TCP localhost:mysql (LISTEN)

这时候可以关闭占用的进程,或者给mysql设置其它端口。

编辑配置文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

添加端口配置(3360是我的一个空闲端口):

port = 3360

启动mysql server:

sudo systemctl start mysql

查看状态:

sudo systemctl status mysql

在这里插入图片描述


如果有还是无法运行,查看日志:

cat /var/log/mysql/error.log

4.2 远程连接

现在我在 Windows 的navicat上连接刚刚安装的 mysql:

注意:

  1. 如果Ubuntu开启了防火墙,那要放行mysql使用的端口(这个基本操作不说了)。
  2. 默认不能使用root账户进行远程连接。
  3. mysql默认不开启远程连接。

在Ubuntu上登录mysql:

sudo mysql -u root -p

然后输入:

SELECT user, host FROM mysql.user;

可以看到root用户只运行本地登录。
在这里插入图片描述

可以修改root允许远程登录,但是不建议。


🔹这里新建一个普通用户来远程登录:
(将remote_user替换为你的用户名,password替换为你的密码)

CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';
  • %:表示允许从任何主机连接。如果只想允许特定IP地址连接,可以将%替换为具体的IP地址。

🔹📖给用户授予权限:

(a)所有数据库所有权限:

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;

(b)授予特定数据库的所有权限(将database_name替换为你的数据库名):

GRANT ALL PRIVILEGES ON database_name.* TO 'remote_user'@'%';

(c)授予特定数据库的只读权限:

GRANT SELECT ON database_name.* TO 'remote_user'@'%';

🔹刷新权限使权限生效:

FLUSH PRIVILEGES;

🔹现在应该还是不能远程连接的,停止mysql:

 sudo systemctl stop mysql

然后编辑配置文件,允许远程连接:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

添加:

bind-address = 0.0.0.0

保存,重启mysql:

sudo systemctl restart mysql

🟢 现在可以远程连接了:
在这里插入图片描述

4.3 安装默认示例数据库

之前Windows那里已经介绍过了。

下载地址:https://dev.mysql.com/doc/index-other.html

在这里插入图片描述

我还是下载到之前的暂存文件夹:

wget https://downloads.mysql.com/docs/sakila-db.zip

解压:

 unzip sakila-db.zip

得到3个文件:
在这里插入图片描述

登录mysql:

mysql -u root -p

执行sakila-schema.sql脚本来创建数据库结构,并执行 sakila-data.sql脚本来填充数据库结构,使用以下命令:

source /home/ubuntu/mysql_temp/sakila-db/sakila-schema.sql;

source /home/ubuntu/mysql_temp/sakila-db/sakila-data.sql;

已安装(Navicat右键刷新一下):

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢地心引力

有用的话请我喝杯咖啡吧????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值