MySQL 在 Windows 下安装教程、避坑指南
mysql 是一个关系型数据库管理系统,由瑞典 mysql ab 公司开发,2008 年被 sun 公司收购,后 sun 公司又被 oracle 公司收购。
一、下载
mysql 官网
点击 downloads
进入下载地址,会看到几个不同的版本:
- mysql enterprise edition:企业版(收费)
- mysql cluster cge:高级集群版(收费)
- mysql community edition:社区版(开源免费,但官方不提供技术支持)
通常我们用的都是社区版。点击进入社区版,看到一大堆东西,有点愣住了,不用急,其实点第一个 mysql community server
的下载就可以了。
所以真正的下载地址其实是:
拉到下面,选择 windows 系统。
这里提供安装版和解压版,安装版是 32 位的(当然 64 位系统下也能安装),解压版是 64 位的。
点击 download
后会跳转到如下页面,这是叫你注册/登录的,不理它,点击左下角的 no thanks, just start my download.
开始下载。
安装版是 32 位的,而现在的机器多半是 64 位机,虽然 32 位的程序也可以安装,但是并不建议。安装版的安装也比较容易,所以这里只讲解压版的安装。
二、解压版配置
1、配置环境变量
将安装包解压到你要安装的目录,将 bin
目录添加至环境变量。
2、配置 my.ini
在根目录下新建一个 my.ini
文件。
在 my.ini
中添加如下配置:
[mysqld] ; 设置3306端口 port=3306 ; 设置mysql的安装目录 basedir=c:\\gl\\sql\\mysql-8.0.18-winx64 ; 设置mysql数据库的数据的存放目录 datadir=c:\\gl\\sql\\mysql-data ; 允许最大连接数 max_connections=200 ; 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 ; 服务端使用的字符集默认为utf8 character-set-server=utf8 ; 创建新表时将使用的默认存储引擎 default-storage-engine=innodb ; 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] ; 设置mysql客户端默认字符集 default-character-set=utf8 [client] ; 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
注意:basedir 和 datadir 要改成你自己的目录。
陷阱:
default_authentication_plugin=mysql_native_password
这一句必须要加上,否则可能导致 root 的初始密码无法登陆。
3、初始化数据库
以管理员身份 运行 cmd,切换至安装目录的 bin 目录下,输入如下命令:
mysqld --initialize --console
默认的服务名就是 mysql
,也可以指定服务名
mysqld --initialize --console 服务名
一般是不会去指定服务名的,但是如果你的电脑上需要安装多个 mysql 服务,就可以用不同的名字区分。
执行成功后,会显示 root
的初始密码,如下图,这个密码需要保存下来。
如果命令中不加 --console
,则在 cmd 窗口将不显示日志信息。可以到 data 目录(my.ini 中 datadir 配置的目录)下找一个 .err 的文件,也可以查看日志信息。
陷阱 1
可能会报“找不到 msvcp140.dll”
msvcp140.dll 是 visual studio c++ 2015 redistributable 的组成文件。
一般出现这个问题,是因为没有安装 visual c++ redistributable for visual studio 2015 所致。这个必须安装,否则后面服务无法启动。
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
如果已安装,则可以修复一下。
亦可下载一个 msvcp140.dll,复制到 c:\windows\system32
,运行如下批处理命令注册 dll
@echo 开始注册 copy msvcp140.dll %windir%\system32\ regsvr32 %windir%\system32\msvcp140.dll /s @echo msvcp140.dll注册成功 @pause
注册成功之后再运行上述 mysql 命令,就可以正常初始化数据库了。当然不建议这么做。
陷阱 2
执行完成之后,仔细查看输出的信息,可能会有如下警告:
'utf8' is currently an alias for the character set utf8mb3, but will be an alias for utf8mb4 in a future release. please consider using utf8mb4 in order to be unambiguous.
utf 8 目前是字符集 utf8mb3 的别名,在将来的版本中将被 utf8mb4 替换。请考虑使用 utf8mb4,以便明确无误。
如果出现的话,我们只需将 my.ini 文件中的 utf8 替换成 utf8mb4。
3.2、安装服务
安装服务:
mysqld -install
启动服务:
net start mysql
如果上一步中你指定了另外的服务名,将 mysql
改为你指定的服务名。
登录数据库:
mysql -u root -p
这时提示需要输入密码,就是前文让你保存的密码。
登录成功后显示如下:
修改密码:
执行以下语句,即可将密码改为 root。
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
推荐阅读
-
Windows10下安装解压版MySQL教程
-
sql server 2005 在 windows7 下的安装教程
-
Windows下mysql5.7.10安装配置方法图文教程
-
windows下安装mysql-8.0.18-winx64的教程(图文详解)
-
sql server 2005 在 windows7 下的安装教程
-
Windows下MySQL5.7.18安装教程
-
Windows10下mysql 8.0.16 安装配置方法图文教程
-
windows下mysql 8.0.16 安装配置方法图文教程
-
Windows下mysql 8.0.11 安装教程
-
Windows server 2008 r2下MySQL5.7.17 winx64安装版配置方法图文教程