参考文档超详细MySQL安装教程(Windows)
1. 下载压缩包
1.1 进入官网下载
1.2 确认你选择的是Windows系统
第一个提供的是msi安装包,后两个提供给我们的都是zip压缩包(即:免安装版),但是需要自己去配置信息
第三个zip压缩包还包括MySQL基准测试套件
注意:
在Windows平台上,MySQL仅适用于Microsoft Windows 64位操作系统
在Windows平台中,MySQL 8.0 Server 依赖 Microsoft Visual C++ 2015 Redistributable Package 来运行
在安装MySQL之前,Microsoft Visual C++ 2015 Redistributable Package 要安装在Windows系统上
2. 解压
直接解压好放在指定位置
3. 修改option 配置文件
通过修改option配置文件,可以对安装位置、其数据存放位置、内存,缓存、InnoDB等进行配置
在解压目录下,创建 my.ini 文件或者 my.cnf 文件(注意:最好只创建其中一个),并在文件中根据自身需求模仿我输入以下内容
在option文件中、
- 注释以 # 或 ; 开头
- 每行仅指定一个选项
- [group] 中 group 代表一个组名,是要为其设置选项的程序或组的名称
例如 [mysqld] 适用于mysqld服务器 - opt_name=value 即 给选项赋值,值还可以使用单引号、双引号包裹起来
设置MySQL8.0安装目录、MySQL8.0数据存储目录
[mysqld]
# 安装目录(此处需要填写你的解压目录哟)
basedir=:D:/MySQL/mysql-8.2.0-winx64
# 数据存储目录
datadir=D:/MySQL/data
要么使用双反斜杠(这与转义字符有关)
[mysqld]
# 安装目录(此处需要填写你的解压目录哟
basedir=D:\\MySQL\\mysql-8.2.0-winx64
# 数据存储目录
datadir=D:\\MySQL\\data
4. 配置环境变量
选择环境变量或用户变量的Path
在输入框中输入你的解压目录\bin
补充:
MySQL8.0安装的默认位置为:C:\Program Files\MySQL\MySQL Server 8.0
如果你是使用的installer安装MySQL
请在输入框中输入C:\Program Files\MySQL\MySQL Server 8.0\bin
5. 初始化 data 目录
通过免安装方法下载的ZIP文件中不包含data目录。我们需要通过创建数据目录并填充mysql系统数据库中的表来初始化MySQL安装
有两个命令可以使用
mysqld --initialize:生成随机的初始root密码
mysqld --initialize-insecure:不会生成root密码
按下 win + x打开Windows PowerShell(管理员)
mysqld --defaults-file=option文件路径 --initialize-insecure --console
例如
mysqld --defaults-file=D:\MySQL\mysql-8.2.0-winx64\my.ini --initialize-insecure --console
-
因为第四步中我们已经配置了环境变量,所以可以在任意路径下的PowelShell中执行 mysqld 命令
-
–defaults-file=option文件路径,option文件路径即第三步配置的option文件的路径
-
在Windows上,使用 --console选项 会将消息定向到控制台
此处有坑,请避开 -
比如说,在option文件中你的数据存储目录为datadir=D:\MySQL\data
-
最终目录为data
-
首先确保你的电脑上存在data文件夹的上一级目录(我的是D:\mysql),没有就创建此文件夹,不然会报错
-
然后不要创建data文件夹,不然会报错的,有就删掉它
6. 命令行启动MySQL服务器
mysqld --console
命令输入,敲击回车后,会有信息在终端中输出,当你看到 ready for connections. Version: ‘8.0.19’ socket: ‘’ port: 3306 MySQL Community Server - GPL. 说明服务启动了
就是这个终端窗口你不能再输入命令了(成为了服务端)
- 想要继续使用终端输入命令,不得不打开新的终端(cmd或者PowelShell)来作为客户端,
- 关闭这个窗口就可以把MySQL服务器关掉了
- 在新的终端中输入mysqladmin -u root shutdown,也可以关闭MySQL服务器
7. 将MySQL服务安装为Windows服务
mysqld --install
看到 Service successfully installed. 代表你成功将MySQL服务安装为Windows服务
通过命令一安装的Windows服务
- 默认的服务名为MySQL
- 启动类型是开机自启
mysqld --install 服务名
- 可以指定服务名
- 经过实践发现此命令存在大坑,服务名以某些特殊的单词结尾时,竟然无法启动此服务(比如:install);而且完全不知道该到哪里寻找这方面的说明,不知道还有没有大坑
- 所以,若你打算通过命令三来安装Windows服务,请马上尝试启动服务,若无法启动请观看第七步补充,将其移除,重新输入命令,更换服务名
扩展
Windows服务可以在注册表中进行设置的,我只是给你看看啊,没基础千万别动它
- win + r,打开运行窗口,在输入框中输入regedit;
- 我已经将MySQL安装到了Windows上,并使用的默认名:
- 定位到:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL
如果你以后想在电脑上安装多个不同版本的MySQL,注册表必须要进行相应的修改或添加内容,还要修改option文件
假设我使用的是命令一,
就可以在终端中使用net start mysql启动MySQL的服务了;通过命令net stop mysql停止服务
net start mysql,net stop mysql这两个命令的第三个值就是服务名,因为命令一中没有配置服务名,所以使用的是默认的用户名:MySQL
然后,键盘同时按下 win + r,在运行窗口的输入框中输入services.msc,打开服务启动管理器
看到名称了吧,也是MySQL
- net start 服务名、net stop 服务名都需要管理员权限才能运行
- net start、net stop 是Windows中开启关闭服务的命令
8. 配置 root 密码
8.1 连接到MySQL服务器
(1.1)如果你在第五步中使用的是mysqld --initialize-insecure命令,请这么输入
mysql -u root --skip-password
(1.2)如果使用的是mysqld --initialize,请这么输入
mysql -u root -p
8.2 进入到MySQL命令行
8.3 使用ALTER USER语句分配新的root密码
在MySQL命令行中输入
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
代码如下
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
Query OK, 0 rows affected (0.10 sec)
9. 测试MySQL安装
在终端中依次输入以下命令
mysqlshow -u root -p
mysqlshow mysql -u root -p
mysqladmin version status proc -u root -p
mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql -u root -p
- 三个命令中都要包括-u root -p,
- -u root 表明以root身份登录,-p 参数表示需要输入密码
- 如果你不加上-u root -p,会报错:Access denied for user ‘ODBC’@‘localhost’ (using password: NO),如果你在网上搜解决办法,头都是大的,基本不能对症解决问题