前言
“在 Windows 上装 MySQL,到底选 MSI 图形化安装,还是 ZIP 压缩包手动部署?”——这可能是每一位开发者、DBA 乃至技术爱好者在入门时都会遇到的灵魂拷问。MSI 安装包像一条“高速公路”,一路“下一步”就能抵达目的地;而 ZIP 压缩包更像一条“越野小径”,需要自己披荆斩棘,却也能收获对 MySQL 运行机制的透彻理解。本篇文章,我将用亲身踩坑记录下的全过程,带你一次性掌握两条路线的全部细节:从下载、初始化、配置环境变量到注册 Windows 服务。无论你是“一键党”还是“手动控”,跟着这份攻略,都能在 30 分钟内让 MySQL稳稳跑在你的 Windows 上。
我的公众号(附有面试资料):Java乐享
一、MySQL的下载
登录dev.mysql.com/downloads/m…,进入官网下载页面,如下图所示。
基于Windows平台的MySQL安装文件有两个版本,一种是以.msi为后缀的二进制安装版本,一种是以.zip为后缀的压缩版本,如下图所示。
这里以.msi的二进制版本为例讲解如何安装,根据电脑的操作位数,选择需要下载的安装文件,这里以64位的安装文件为例点击下载,下载完成后,安装文件如下图所示
二、MySQL的安装(MIS版本)
双击安装文件进行安装,此时会弹出MySQL安装向导界面
单击“Next”按钮,此时会显示用户许可协议界面,如下图所示。
将图中的确认项勾选,然后点击“next”按钮,如下图所示。
图中显示了三种可选的安装类型,三种类型的含义具体如下。
l Typical(典型安装):只安装MySQL服务器、MySQL命令行客户端和命令行使用程序。
l Custom(自定义安装):自定义安装的软件和安装路径。
l Complete(完全安装):安装软件包内所有组件。
为了熟悉安装过程,这里选择自定义安装,点击“Custom”按钮,如下图所示。
默认情况下,MySQL的安装目录为“C:\Program Files\MySQL\MySQL Server 5.5\”,若在MySQL配置执行时出现卡死状态,可以尝试将MySQL Server装在D盘,如果要更改安装目录可以单击“Browse”按钮更改目录,这里直接点击“Next”按钮,如下图所示。
点击“Install”按钮开始安装,安装完成后,会显示MySQL的安装完成界面,如下图所示。
此时,MySQL安装完成,图中“Launch the MySQL Instance Configuration Wizard”复选框用于开启MySQL配置向导,默认勾选状态,点击“Finish”按钮就会进入MySQL配置向导界面。
三、MySQL的配置
安装完成,进入配置向导界面,如图所示。
点击“Next”按钮,进入选择配置类型界面,如图所示。
图中有两种可选的配置类型,两种配置类型的含义具体如下。
l Detailed Configuration(详细配置):进行服务器的详细配置。
l Standard Configuration(标准配置):快速启动MySQL,不必考虑配置服务器。
这里选择第一项,详细配置服务器,点击“Next”按钮,进入服务器类型界面,如图所示。
图中有三种可选的服务器类型,三种服务器类型的含义具体如下。
l Developer Machine(开发者类型):占用的内存资源最少,适用于开发者使用。
l Server Machine(服务器类型):占用的内存稍多一些,主要用作服务器的机器使用。
l Dedicated MySQL Server Machine(专用MySQL服务器):占用的内存最多,专门用来做数据库服务器的机器使用。
这里选择第一项服务器,开发者类型,点击“Next”按钮,进入数据库用途界面,如图所示。
图中有三种可选的数据库用途,三种数据库用途的含义具体如下。
l Multifunctional Database(多功能数据库):同时使用InnoDB和MyISAM存储引擎,在两个引擎间平均分配资源。
l Transactional Database Only(事务处理数据库):同时使用InnoDB和MyISAM存储引擎,但大多数服务器资源指派给InnoDB存储引擎。
l Non-Transactional Database Only(非事务处理数据库):禁用InnoDB存储引擎,所有服务器资源指派给MyISAM存储引擎。
这里选择多功能数据库,点击“Next”按钮,进入表空间配置界面,如图所示。
这里就是为InnoDB数据库文件选择一个存储空间,使用默认选项即可,点击“Next”按钮,进入并发连接数设置界面,如图所示。
图中有三种可选的并发连接数设置,三种并发连接数设置的含义具体如下。
l Decision Support(DSS)/OLAP(决策支持):并发量较小。
l Online Transaction Processing(OLTP)(联机事务处理):并发量较大。
l Manual Setting(手动设置):自定义并发量。这里选择手动设置默认的15即可,点击“Next”按钮,进入网络设置界面,如图所示。
图中可看出,MySQL的默认端口号为3306,如果不想使用此端口号,可以在下拉列表中更改,通常建议不更改,“Add firewall exception for this port”复选框用来在防火墙上注册这个端口号,建议勾选,“Enable Strict Mode”复选框用来启动MySQL标准模式,对输入数据进行严格检查,初学者可以不勾选这里,点击“Next”按钮,进入设置默认字符集编码界面,如图所示。
图中有三种可选的默认字符集编码设置,三种默认字符集编码设置的含义具体如下。
l Standard Character Set(标准字符集):默认字符集编码为Latin1。
l Best Support For Multilingualism(支持多种语言):默认字符集编码为UTF8。
l Manual Selected Default Character Set/Collation(手动设置的默认字符集编码):手动设置默认字符集编码,通过下拉列表选择默认字符集编码。
这里通过手动设置选择utf8默认字符集编码,点击“Next”按钮,进入Windows服务设置界面,如图所示。
图中提供了多个选项,它们含义具体如下。
l Install As Windows Service复选框:将MySQL安装为Windows服务,建议勾选。
l Service Name下拉列表:可以选择服务器名称,默认即可。
l Launch the MySQL Server automatically复选框:设置Windows启动后MySQL自动启动,建议勾选。
l Include Bin Directory in Windows PATH复选框:将MySQL的bin目录添加到环境变量PATH中,在命令行窗口中可以直接使用bin目录下的文件,建议勾选。
勾选设置完成后,点击“Next”按钮,进入安全设置界面,如图所示。
图中提供了多个选项,它们含义具体如下。
l Modify Security Settings复选框:询问是否修改root用户的密码,默认勾选即可。
l New root password和Confirm文本框:设置root用户的密码,这里设置为admin。
l Enable root access from remote machines复选框:设置是否允许root用户在其他机器上登录,为了方便使用,可以勾选。
l Create An Anonymous Account复选框:用来创建一个匿名用户,该用户可以连接数据库,但不能操作数据,为了安全考虑,不建议勾选该复选框。
勾选设置完成后,点击“Next”按钮,进入准备执行界面,如图所示。
点击“Execute”按钮,MySQL会根据配置向导的设置进行配置,配置完成后会显示相关的概要信息,如图所示。
点击“Finish”按钮完成MySQL的配置并退出MySQL配置向导。
注(修改localhost的密码):update mysql.user set password=password('root') where user='root' and host='localhost';
四、以下是基于mysql-5.7.30-winx64.zip压缩版安装
一。下载后解压到本地
配置环境变量:
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
变量名:MYSQL_HOME
变量值:D:\mysql\mysql-5.7.28-winx64
path里添加:%MYSQL_HOME%\bin
二。创建数据目录及配置文件
此版本MySQL并没有创建data目录及my.ini。在MYSQL_HOME目录下创建data目录,建议将data目录设为D:\mysql\mysql-5.7.28-winx64\data。另外,创建Uploads目录作为MySQL导入导出的目录。my.ini建议放在MYSQL_HOME目录下,简单配置可参考:
[mysqld]
port=3306
character_set_server=utf8
basedir=D:\mysql\mysql-5.7.28-winx64
datadir=D:\mysql\mysql-5.7.28-winx64\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM
log-error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=D:\mysql\mysql-5.7.28-winx64\Uploads
[client]
default-character-set=utf8
三。初始化数据库及启动
cmd命令行进入D:\mysql\mysql-5.7.28-winx64\bin目录,执行mysqld --initialize-insecure
如果报错
mysqld:could not create or access the registry key needed for the mysql application
请用管理员打开cmd命令行
执行mysqld –install MySQL57安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)net start MySQL57启动MySQL服务
修改密码:
mysql -uroot
alter user 'root'@'localhost' identified by 'root';
flush privileges;
五、升级
如果将数据库5.5的升级到5.7:
第一步:停止原来的MySQL服务,打开任务管理器,找到mysqld的进程名,停止掉。
第二步:备份原来数据库的文件,在C:\ProgramData\MySQL 相应的版本目录下面,有data目录,将此目录复制到其他地方备份。
第三步:运行MySQL的卸载程序,可以使用360或者QQ电脑管理的软件管理,或者是控制面板程序里面执行卸载。
第四步:进入mysql官网下载5.7的版本
然后按照压缩版的教程执行,初始化数据时执行mysqld --explict-insecure
如果出现Install/Remove of the Service Denied!报错:cmd以管理员身份打开
备注:升级之后执行sql语句建表报错
Table 'performance_schema.session_status' doesn't exist
输入命令:mysql_upgrade -u root -p
重启mysql
注:安装包请通过公众号获取,关注Java乐享公众号,回复“mysql”获取