# 前言
本文写于2022年4月12日,详细介绍了Windows操作系统下,使用mysql-installer.msi程序安装MySQl 8.0,安装程序有图形化安装界面,适合新手小白进行尝试。作者会持续跟进此安装方法,此方法失效后会进行说明,并留下新方法的跳转链接。如果需要使用服务器ZIP包安装MySQL 8.0 请移步 Windows ZIP Archive 安装和卸载 MySQL 8.0。
# 安装
# 一、 下载安装程序
MySQL :: Download MySQL Installer (opens new window)
# 1、 选择安装程序点击【Download】;
# 2、直接下载即可,无需登录。
这里作者选择的是离线安装包,体积比较大,在线安装步骤大体相同。
# 二、 安装步骤
# 2.1 运行安装程序
直接双击下载的安装程序即可。
# 2.2 选择安装模式
经过几秒钟的加载后,来到【Choosing a setup type(选择安装类型)】的界面,如下图所示:
5种安装类型,根据自己的需要选择安装的产品,作者选择了【Custom(自定义)】。 五种安装类型分别是:
- Developer Default(默认安装):安装所有MySQL数据库需要的产品;
- Server only(仅作为服务器):仅使用MySQL数据库的服务器;
- Client only(仅作为客户端):仅使用MySQL数据库的客户端;
- Full(完全安装):安装所有包含MySQL数据库的产品;
- Custom(自定义安装):手动选择需要安装的MySQL数据库产品。
# 2.3 选择需要的产品
如下图所示,选择需要安装的产品,点击中间的箭头,将该产品添加到右侧【Products To Be Installed(将要安装的产品)】中。作者选择的产品是MySQL Server 8.0.XX -X64
(必装)、MySQL Shell 8.0.XX -X64
和MySQL Router 8.0.XX -X64
(其他产品根据自己需要安装)。
如果后期需要安装其他的MySQL产品,重新运行
mysql-installer.msi
安装程序,自定义选择其他产品即可。
# 2.4 修改安装目录(非必要)
如图所示,选中将要安装的产品,点击【Advanced Options(高级选项)】修改MySQL服务安装目录和MySQL数据存放目录。
说明:
默认服务安装目录是
C:\Program Fiels\MySQL\XX
,默认数据目录是C:\ProgramData\MySQL\XXX
。C:\ProgramData
是一个隐藏目录,如果没显示,需要到此电脑中的查看中勾选隐藏项目项。如果自定义安装目录,请避免路径中出现中文。另外,建议服务目录和数据目录分开。修改目录时,使用三个点浏览选择目录时,出现警告
The selected path already exists.(你选择的目录已经存在)
,如果选择的目录选择时正确的,可以忽略这个警告;要消除警告,在选择的目录后再添加一级子目录即可(手动输入目录名称,不需要新建文件夹),点击【OK】,再次打开【Advanced Options(高级选项)】警告消失。 只需要在【Install Directory(安装目录)】框内手动添加MySQL Server 8.0
即可,不需要在D:\MySQL
下新建MySQL Server 8.0
文件夹。其他产品同理
# 2.5 执行安装
在完成上述步骤后,点击【Next(下一步)】,进入下一步。如图所示,选择的产品的状态为【Ready to Install(准备安装)】,点击【Execute(执行)】按钮,开始安装。
# 2.6 完成安装
安装完成后,选择安装的产品状态变为【Complete(完成)】,点击【Next】,进入下一步。
# 三、配置MySQL
MySQL安装之后,进入配置阶段,如下图所示,产品状态为【Ready to configure(准备配置)】。现在需要对服务器进行配置,具体的配置步骤如下:
# 3.1 主机类型和端口号
其中,【Config Type(配置类型)】选项用于设置服务器的类型。单击该选项右侧的下三角按钮,即可查看3个选项,见上面截图。大部分人应该都只是安装本地数据库做开发,所以选择第一个【Developer Computer】。
三种主机类型分别为:
- Developer Computer(开发者主机):开发人员使用的计算机,除了MySQL,还要安装其他软件,MySQL服务占用资源极少,大部分本地开发者应该都是这种情况。
- Server Computer(服务器主机):用作服务器的计算机,MySQL服务可以同其他服务器应用程序一起运行,例如Web服务器等,此时,MySQL服务配置成适当比例的系统资源。
- Dedicated Computer(数据库主机):专门用作数据库服务的计算机,MySQL服务配置成使用所有可用系统资源。
MySQL服务默认的端口是3306,如果无其他需要不修改。
# 3.2 设置授权方式
单击【Next(下一步)】按钮,打开设置授权方式窗口。其中,上面的选项是MySQL8.0提供的新的授权方式,采用SHA256基础的密码加密方法;下面的选项是传统授权方法(保留5.x版本兼容性)。不做修改。
# 3.3 设置root用户密码
单击【Next(下一步)】按钮,打开设置服务器root超级管理员的密码窗口,如图所示,需要输入两次同样的登录密码。也可以通过【Add User】添加其他用户,添加其他用户时,需要指定用户名、允许该用户名在哪台/哪些主机上登录,还可以指定用户角色等。此处暂不添加用户。
# 3.4 Windows服务设置
单击【Next(下一步)】按钮,打开设置服务器名称窗口,如图所示。该服务名会出现在Windows服务列表中,也可以在命令行窗口中使用该服务名进行启动和停止服务。本书将服务名设置为 “MySQL80”。如果希望开机自启动服务,也可以勾选“Start the MySQL Server at System Startup”选项(推荐)。下面是选择以什么方式运行服务,可以选择“Standard System Account”(标准系统用户)或者“Custom User” (自定义用户)中的一个。这里推荐前者。
# 3.5 执行配置
单击【Next(下一步)】按钮,打开应用配置窗口,可以看到配置执行步骤,以及日志,点击【Execute(执行)】,开始执行配置。
# 3.6 完成配置
如图所示,执行步骤前全部出现绿色对号,提示出现【The configuration for MySQL Server 8.0.XX was successful. Click Finish to continue.】字样,代表配置成功,点击【Finish】完成配置。
# 3.7 其他产品配置
查看是否还有其他产品需要配置,然后继续配置。如果没有,直接选择【Next】。作者安装的产品还有MySQL Router,所以进一步完成配置。
MySQL Router配置相对简单,直接点击【Finish】即可。
# 四、 结束安装和配置
点击【Finish】完成安装和配置,勾选了Start MySQL Shell after setup,会在点击【Finish】按钮后启动MySQL Shell。
# 五、 配置环境变量
依次进入【计算机】→【属性/关于】→【高级系统设置】→【环境变量】,点击系统变量的path变量,然后点击编辑(或双击path变量)
右上角【新建】→【浏览】,选择MySQL安装目录下bin目录,比如作者是的是D:\MySQL\MySQL Server 8.0\bin
点击【确定】保存之后,就可以在cmd中使用mysql了。
# 六、验证安装
在命令窗口内输入以下指令,然后输入密码(密码为上面生成的随机密码),登录成功,则安装和配置全部完成。
mysql -u root -p
当然你也可以这样一句话完成
mysql -u root -p your_password
,your_password
就是配置过程中设置的密码。
或者,使用图形化界面程序尝试连接本地数据库,如Navicat Premium等。
# 卸载
# 一、 停止服务
管理员身份运行cmd,使用以下指令关闭MySQL服务(MySQL80
这个服务名称是安装配置的设定的,可能不叫这个名字)
net stop MySQL80
效果如图所示:
或者,进入服务窗口关闭mysql服务,操作方法如下:
快捷键【win+R】→输入【services.msc】→进入服务窗口→关闭MySQL服务
# 二、 卸载MySQL程序
到控制面板/设置的应用和程序管理界面,卸载MySQL相关的产品即可
# 三、 删除文件
- 删除MySQL安装目录下的所有文件(默认目录为
C:\Program Fiels\MySQL\XX
,使用自定义目录的话请根据自定义安装目录进行删除)。 - 删除MySQL数据目录下的所有文件(默认目录为
C:\ProgramData\MySQL\XX
,使用自定义目录的话请根据自定义数据目录进行删除)。
# 四、 删除环境变量
如果有设置了环境变量,那么进入【计算机】→【属性/关于】→【高级系统设置】→【环境变量】,删除系统环境变量path中的MySQL/bin路径即可。
# 五、 清理注册表
# 5.1 打开注册表编辑器
快捷键【win+R】→输入【regedit】→打开【注册表编辑器】
新手小白修改注册表有风险,建议先导出备份以下。
# 5.2 删除注册表信息
分别删除以下几条信息
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl002\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL
若卸载的时候没有找到,略过后仍达到完全卸载的目的。注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类,删除的时候都删除就可以 ,这样做是为了避免再次安装MySQL时报错。