本文详细记录win11系统MySQL安装配置与Navicat连接过程,每个知识点都解释了,不止安好了,你还学懂了!你不知道选择哪个版本,不知道参数啥意思,不知道哪种安装方式好?这里都有答案!!!
安装之前看看MySQL的安装方式啊,因为我看网上的安装方式很多,不同的方式,安装包也不同,就怕像我这样一知半解的人读啊,看着看着就迷糊了,看看区别;
主要是两种方式,一种是需要安装的,一种是只需要解压的;
具体下载界面区别如下图,左边的是直接解压的,右边的是要使用图形界面安装的;
个人是使用MySQL服务就够了,其他的都用诸如Navicat的管理工具,所以安装的是直接解压缩的版本,如果你不需要这个版本可以移步其他文章啦~
MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/
这里你会发现网上的教程给的地址不太一致,很多教程给的地址是:https://downloads.mysql.com/archives/installer/ 进入https://dev.mysql.com/downloads/mysql/你看到的页面如下,点击Archives就切换到另一个地址了。
其实也就是版本不同,主要是小白的话可能会迷惑~
General Availability (GA) Releases
是建议在生产系统中使用的版本,通常每18到24个月发布一个新的 GA Release 版本,可从 MySQL Developer Zone 下载。
Archives
是所有 MySQL 版本的历史记录,包括 GA Releases、DMRs、RCs 和其他版本,它们适合于测试、升级以及其他目的。可以从 Archives 中选择以前的版本进行下载。我们这里选择GA Releases就可以啦,这里问题又来了,因为又有两个版本
Windows (x86, 64-bit), ZIP Archive
和 Windows (x86, 64-bit), ZIP Archive Debug Binaries & Test Suite
都是 MySQL 的 Windows 版本,其区别在于是否包含 Debug Binaries & Test Suite。
Windows (x86, 64-bit), ZIP Archive
是用于部署 MySQL 的标准版本,其中包含 MySQL Server 和 Client、命令行工具以及其他必要文件。这个版本不包含 Debug Binaries & Test Suite,适合一般用户在 Windows 平台上使用MySQL。
而 Windows (x86, 64-bit), ZIP Archive Debug Binaries & Test Suite
包含了 Debug Binaries & Test Suite
工具,可用于分析和测试 MySQL 代码。这个版本通常适合那些需要定位和解决 MySQL 相关问题的开发人员和系统管理员使用。Windows (x86, 64-bit), ZIP Archive
就行。选择只下载即可
将下载的压缩包解压到你想安装MySQL的位置,因为这个版本是不需要安装的,解压即可。这个路劲需要记住,不止一会儿配置变量,更多的是以后开发使用中有问题方便排查。
my.ini
文件
创建一个txt文档,然后另存为即可
另存为的时候,保存类型选择所有文件[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:/Coding/mysql-8.0.32-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:/Coding/mysql-8.0.32-winx64/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
# default-storage-engine=INNODB
# 指定使用“mysql_native_password”插件认证
# default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
utf8mb4
和 utf8
都是 MySQL 中的字符集,但是它们的编码方式不同。在 MySQL 5.5.3 之前,MySQL 中的 utf8
只实现了部分的 UTF-8 编码方案,只能支持部分 Unicode 字符。而在 MySQL 5.5.3 之后,MySQL 加入了 utf8mb4
字符集,它是 UTF-8 编码的超集,完全支持所有的 Unicode 字符,包括 emoji 表情和一些少数民族语言的文字等。
对于 BMP(Basic Multilingual Plane)字符(Unicode 编码 ≤ 0xFFFF),utf8
和 utf8mb4
的存储方式是一样的,都使用 1~3 字节的存储空间。而对于一些辅助平面(Supplementary Plane)的字符(Unicode 编码 > 0xFFFF),utf8
无法存储这些字符,而需要使用 utf8mb4
字符集才能存储这些字符,每个字符需要使用 4 个字节的存储空间。
总之,utf8
和 utf8mb4
都是 MySQL 中的字符集,但是 utf8mb4
支持所有的 Unicode 字符,而 utf8
只支持部分 Unicode 字符。因此,在存储一些特殊字符时,需要使用 utf8mb4
字符集。caching_sha2_password
,这个插件提供了更好的安全性和更好的密码管理。但是,如果你的应用程序还没有升级到能够支持新插件的版本,那么可以将默认的身份验证插件设置回旧的 mysql_native_password
插件。
需要注意的是,mysql_native_password
插件虽然可以继续使用,但是它的安全性相对较低,因为它使用的是之前版本中的密码散列方法。如果你考虑到安全问题,建议使用新的身份验证插件 caching_sha2_password
。
目前不支持caching_sha2_password
还是很少的,选他就好。1. InnoDB:支持事务处理、行级锁、外键等特性,具有较好的并发能力和故障恢复能力,适合于高并发、大容量数据的应用。但相比其他存储引擎,在如大量读取操作等方面表现可能不尽人意。
2. MyISAM:是MySQL最常用的一种存储引擎。它对于SELECT操作速度快,对于处理大数据量的表效果更佳,而对于INSERT和UPDATE操作则稍显不足。此外,MyISAM不支持事务和外键。
3. Memory:内存存储引擎,将数据存储在内存中而不是在磁盘上,因此速度非常快。但是,它缺乏持久性,数据存储在内存中,一旦服务器崩溃或重启,所有数据就会消失。
4. Archive:归档存储引擎,适用于一些需要长期归档或备份历史数据的场景。它的压缩比例非常好,但是不支持索引、事务以及DELETE操作。
5. CSV:把数据存储在CSV文件中,适合于导入和导出大量的数据。但是,它也不支持事务、索引和外键等特性。
一般来说,选择InnoDB即可。
管理员身份打开命令窗口,不是管理员的话后面会报错;
cd到MySQL安装的bin目录下;
输入初始化命令mysqld --initialize --console
并回车;
注意 root@localhost后面的uehIUj+ek37r 这是生成的密码,后面修改;
接着输入命令mysql --install
安装MySQL
输入命令net start mysql
启动MySQL服务
输入mysql -uroot -p
命令以root身份登录MySQL;
并输入默认的密码,密码是2.3中获取到的密码;
回车后就登录上MySQL了;
输入命令修改默认密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
SHOW DATABASES;
就可以查看有哪些库了,现在有的都是默认表;
不修改密码,运行上面的命令会报错
You must reset your password using ALTER USER statement before executing this statement.
;
是因为MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。
所以必须先修改默认密码;D:\Coding\mysql-8.0.32-winx64\bin
,随后点击确定即可;至此就已经大功告成啦~
常见的数据库管理和设计工具包括:
这些工具都提供了直观的用户界面和强大的功能集,可帮助开发人员轻松地管理和操作数据库。
这里我们使用Navicat,安装教程参考:https://cloud.tencent.com/developer/article/2199814
有些教程确实需要设置自启动,不确定是安装方式的问题还是版本的问题; 按照上面的教程安装的MySQL,正常是默认自启动的;可以按照以下步骤查看或设置;
services.msc
打开服务管理器,下拉找到MySQL服务;
即可查看运行状态和启动类型;我觉得就是学习的话,就和我一样呗,安装最新的;一般就是兼容性的问题,都比较好解决;
但是具体的话,还是需要考虑多个方面,如业务需求、数据库规模、安全性、稳定性以及维护成本等等。