写在前面:MySQL安装分为两种方式,一种是MSI安装版(普通的安装包,有引导安装的界面),另一种是压缩包解压版(解压可直接使用,但需要配置),本文主要针对压缩包解压安装进行讲解,并附加安装过程遇到的问题以及相应的解决办法。
1. 下载
进入下载官网后,点击左图所示红箭头处跳转到之前的版本下载页面,选择【5.6.50】、64位还是32位根据系统自行选择,然后点击右下角的【Download】按钮下载。
2. 配置
2.1 解压
将下载后的压缩包解压至你想放置的路径下,路径的注意事项(英文、不要有特殊字符)就不多说了,解压后如下图所示。
2.2 配置my-default.ini文件
复制解压后目录的my-default.ini文件,并将副本重命名为my.ini(因为每次bin目录下mysqld可执行程序只会去执行my.ini配置文件),要小心配置,内容配置有误有可能会出现附录2的问题,建议直接复制。每次修改配置文件后,需要重新开启mysql服务,在终端中输入【net stop mysql】关闭服务,【net start mysql】开启服务。
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:\Software\soft\mysql-5.6.50
datadir=D:\Software\soft\mysql-5.6.50\data
max_connections=100
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

2.3 配置环境变量
为了省去每次运行数据库相关命令需要进入相应路径,我们直接在环境变量中配置mysql的可执行文件目录,【此电脑】右键属性后点击【高级系统设置】,然后点击【环境变量】,最后双击【系统变量】中的【Path】选项,在里面新建一条,将mysql的bin目录添加进去,如下图所示。
2.4 安装微软运行类库(可选)
配置信息完成后,需要安装mysql。在win10搜索框搜索【命令提示符】,然后右键以管理员身份运行,打开命令行窗口后输入【mysqld -install】,如果输出“Service successfully installed”,那么安装成功。但博主安装时遇到了附录1的问题,如果你没有遇到就直接跳过。
2.5 mysql服务启动
还是以管理员身份打开命令行窗口输入【net start mysql】,如果启动成功就成功了,可紧接着输入【mysql -u root -p】进行mysql数据库进行相关操作,需要输入密码时直接回车就行,因为我们还没设置过密码,输入exit可退出。如果出现附录2的问题,可参考附录二解决方法。
要设置密码可以输入【mysqladmin -u root -p password】,先回车,然后输入你自己的密码,再输一次验证就可设置密码。
附录1
问题:mysql安装时提示“无法启动此程序,因为计算机中丢失MSVCP100.dll,尝试重新安装该程序”。
原因:重装过系统,缺少微软的某些运行类库。
解决:安装微软类库,因为网上有相关资源,所以我这边也就不上传了,需要可私聊评论。
当时也没有截图,就纯文字说明了。我安装完成后桌面黑屏了,重启就正常,这里提醒一下。
附录2
问题:安装mysql后,启动服务时提示:无法启动,系统错误1067。
原因:my.ini配置文件配置不对,导致mysql启动失败。
解决:更改my.ini配置文件。
附录3
问题:配置文件中的字符集该怎么设置
解决:当客户端和服务端的字符集都是utf8,这种情况最好,能够正常保存、显示中文。但是博主尝试了配置文件不设置字符集的情况,该情况下mysql客户端的字符集默认是gbk(中文编码标准),而mysql服务端字符集默认是latin1(英文编码标准),这种情况中文是可以正常存储到数据库以及从数据库读取显示的,于是博主进行了测试。
1. mysql客户端是latin1,mysql服务端是utf8的情况,字符集如下图所示。
此时查看数据库时,是不能显示数据库中文名字的,如下图。
然后我往表中插入一行带有中文的数据,查询时依然不能正常显示中文,如下图。
于是,我再把客户端的字符集改回utf8,如下图。
此时,我再查询数据库的数据,我们刚刚插入的中文数据依然显示不了,只有之前的中文数据才能正常显示。
因此,我们得到结论:我们在客户端往服务端存储数据时,必须是utf8、gbk这种中文编码,不然中文保存到服务端的是乱码,不管我们之后客户端是什么编码,都不能正常显示了。
2. mysql客户端是utf8,mysql服务端是latin1的情况,如下图所示。
此时,查看数据,中文正常显示,如下图所示。
插入一行中文数据,并查询,如下图所示。
因此,验证了我们第一条的结论。
博主根据自己的理解,画个粗糙的图,不够好请大家见谅,如下图。