Windows平台安装MySQL数据库

本文详细介绍了MySQL8.0.18社区版在Windows系统中的安装步骤,包括配置my.ini文件、注册为服务、环境变量设置及常见问题解决,如密码规则调整和依赖库安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL是目前应用最广泛的开源关系数据库之一。提供了面向C、C++、Eiffel、Java、Perl、PHP、Python、.NET以及Tcl等编程语言的编程接口。在项目程序决定采用MySQL作为数据库后,首先我们得先安装MySQL数据库,本文则主要记录在windows系统中安装MySQL的一个过程,以及遇到的问题以及如何解决的。

MySQL数据库下载

首先官方提供了多个版本,作为开发我们选择免费开源的社区版本(Community Edition)。

官网地址:MySQL

官方最新社区版本的下载地址:MySQL :: Download MySQL Community Server。 

下载MySQL数据库的压缩文件mysql-8.0.18-winx64.zip后,解压文件,本文解压文件夹为:D:\Program Files\mysql-8.0.18-winx64。

MySQL数据库服务器安装

初始化MySQL的配置文件

打开刚才的解压目录D:\Program Files\mysql-8.0.18-winx64,在目录中新建my.ini文件并将以下基本信息放入文件中作为初始化的配置信息:

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\Program Files\\mysql-8.0.18-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\Program Files\\mysql-8.0.18-winx64\\mysqldata
# 允许最大连接数
max_connections=100
# 服务端使用的字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# InnoDB page size (default 16KB). Many values are counted in pages; the page size enables them to be easily converted to bytes.
innodb_page_size=64k
# The sort buffer size (default 1M) for online DDL operations that create or rebuild secondary indexes
sort_buffer_size=2M

注意:默认字符集如果设置为utf8,安装的时候会有warring提示: Warning: (3719, “‘utf8’ is currently an alias for the character set UTF8MB3, which will be replaced by UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.”)。所以我们直接将字符集设置为utf8mb4。

安装MySQL服务器

以管理员身份打开 cmd 命令行工具,并切换至目录:

cd D:\Program Files\mysql-8.0.18-winx64\bin

然后通过指令mysqld --initialize --console安装MySQL服务器:

mysqld --initialize --console

运行指令后如果顺利会提示安装成功,并如下图所示输出root账号的默认的临时密码。一定要记录该密码,后续操作MySQL数据库登陆root的密码。如下图所示本次安装生成的临时密码为:o1,#o+R2V2oo

MySQL数据库注册为windows服务

继续在windows命令行工具cmd中通过指令来注册MySQL的windows服务,还是在刚才的D:\Program Files\mysql-8.0.18-winx64\bin目录下,输入指令mysqld --install [服务名],如果不填服务名则默认服务名为mysql,本次安装我们一版本号信息命名服务名,如下指令:

mysqld install MySQL8018

windows服务安装成功后,我们需要启动MySQL服务,输入以下命令即可:

net start MySQL8018

如果需要停止MySQL服务,输入并执行net stop MySQL8018即可。如果需要卸载windows服务,输入sc delete MySQL8018指令卸载 MySQL 服务。

注意1:博主在windows server 2012服务器上安装好mysql,mysql服务始终启动失败,试了很久都无法成功(日志如下,以为是buffer pool设置问题,导致最开始排查问题的方向错了,花了很多冤枉时间)。最后看网友的博客,发现是安装和启动是CMD命令行启动的时候未使用管理员身份的原因,使用管理员身份启动cmd再安装mysql并注册服务之后,启动成功了。

2019-12-01T03:39:39.527606Z 0 [System] [MY-010116] [Server] C:\ProgramData\mysql-8.0.18-winx64\bin\mysqld (mysqld 8.0.18) starting as process 4232
2019-12-01T03:39:39.820158Z 0 [Warning] [MY-011041] [Server] Failed to allocate 3727360 bytes for buffer 'memory/performance_schema/events_statements_current' due to out-of-memory.
2019-12-01T03:39:39.952323Z 1 [ERROR] [MY-012956] [InnoDB] Cannot allocate memory for the buffer pool
2019-12-01T03:39:39.953286Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
2019-12-01T03:39:39.954299Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2019-12-01T03:39:39.958475Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2019-12-01T03:39:39.959191Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-12-01T03:39:39.967614Z 0 [System] [MY-010910] [Server] C:\ProgramData\mysql-8.0.18-winx64\bin\mysqld: Shutdown complete (mysqld 8.0.18)  MySQL Community Server - GPL.

注意2:在全新的windows server 2012服务器上安装的时候会遇到缺少MSVCP140.dll或者VCRUNTIME140.dll找不到而安装失败的情况。原因是MySQL 8.0 要求在服务器上先安装Microsoft Visual C++ 2019 Redistributable Package【官方最新下载地址】.

Important

MySQL 8.0 Server requires the Microsoft Visual C++ 2019 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before installing the server. The package is available at the Microsoft Download Center. Additionally, MySQL debug binaries require Visual Studio 2019 to be installed.

MySQL环境变量设置

本文是以及win10系统的环境变量配置作为示例,打开windows的环境变量配置窗口,选择系统变量Path并点击编辑,在编辑框中增加mysql的bin目录(D:\Program Files\mysql-8.0.18-winx64\bin)完成mysql系统变量的增加,如下图所示:

至此mysql在windows中的系统变量已经添加成功,在命令行中我们可以在任意目录下使用mysql指令。

MySQL测试

windows命令行工具cmd测试

当配置好mysql的系统环境变量后,可以重新在命令行工具cmd中,输入如下指令用root账户登录mysql:

mysql -u root -p

然后在Enter password中输入刚才安装mysql后输出的临时密码,密码输入正确后会提示如下登录成功界面:

至此mysql服务器已经安装成功,并经过简单的测试登录。

navicat工具测试

打开navicat工具连接mysql服务器,输入正确的账号和密码,但是提示2059的错误,奇怪windows命令行工具中已经测试成功,为什么navicat无法连接成功呢?这是因为在mysql8之前的版本中加密规则为mysql_native_password。但是在mysql8以后的加密规则为caching_sha2_password。而我们的navicat版本还是用的是mysql_native_password加密规则,所以只需要将mysql中的密码规则设置为原来的mysql_native_password即可解决问题。

打开windows命令行工具cmd,输入如下指令修改加密规则以及密码:

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

执行如下指令刷新并生效修改: 

FLUSH PRIVILEGES;

将root的密码修改为mysql_native_password加密规则,并修改为123456。然后我们在navicat中重新输入新的密码再次连接,则会成功的连接mysql数据库。

看网友也在初始化配置文件my.ini时候,可以将加密规则在初始化文件中设置,这个方法应该也可以解决navicat连接的问题,不过博主没有亲测,初始化配置文件增加如下配置制定默认加密规则:

# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

现在mysql8.0.18版本的社区版服务器我们已经在windows系统中安装成功,途中我们遇到了一些问题,通过查询资料我们解决了这些问题,以此文作为记录希望可以给其他网友一些帮助。如果文字有描述不准确的,也希望各位网友反馈指正。

参考:

官方windows环境安装mysql

官方mysql数据库InnoDB配置说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值