MySql8.4.x解压缩版之Windows中快速安装
文章目录
注意:
MySQL 8.4 服务器需要 Microsoft Visual C++ 2019 Redistributable Package 可在 Windows 平台上运行。用户 应确保软件包已安装在系统上 在安装服务器之前。该软件包可在 Microsoft 下载中心。此外,MySQL调试二进制文件 需要 Visual Studio 2019。
VC++2015-2022直接下载:https://download.visualstudio.microsoft.com/download/pr/1754ea58-11a6-44ab-a262-696e194ce543/3642E3F95D50CC193E4B5A0B0FFBF7FE2C08801517758B4C8AEB7105A091208A/VC_redist.x64.exe
在安装MySQL8.4确保 Microsoft Visual C++ 2019 Redistributable Package 已安装,否则会导致MySQL8.4安装失败
1. 下载与安装
- 官网下载:https://dev.mysql.com/downloads/
- 安装文件:mysql-8.4.0-winx64.zip
- 解压到D下:如:D:\mysql-8.4.0-winx64
- 环境变量配置
- 在用户或系统变量中新增下面配置
变量名:MYSQL_HOME
变量值:D:\mysql-8.4.0-winx64
- 在用户或系统变量的path变量值后面新增下面代码
%MYSQL_HOME%\bin
- 在D:\mysql-8.4.0-winx64下新建my.ini,内容如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置端口,不设置默认3306
port = 3306
# 设置mysql的安装目录
basedir=D:\\DBServer\\mysql\\mysql-8.4.0-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\DBServer\\mysql\\mysql-8.4.0-winx64 #8.0以下版本需要配置数据目录
# 允许最大连接数
max_connections=100
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL8.0默认的身份验证插件为caching_sha2_password,这将导致远程户端无法连接,可使用“mysql_native_password”插件认证解决客户端无法连接的问题,mysql_native_password再MySQL8.0中已过时,但任然可使用
# 从MySQL8.4开始,配置为 mysql_native_password=ON
mysql_native_password=ON
# default_authentication_plugin=mysql_native_password 此配置是在8.4以下的版本中的配置方法,8.4无此项
关于MySQL8中相关参数配置,可通过
mysqld --verbose --help
命令查看,如下密码插件配置
# mysqld --verbose --help
...
--mysql-native-password[=name]
Enable or disable mysql_native_password plugin. Possible
values are ON, OFF, FORCE (don't start if the plugin
fails to load).
...
- 进入D:\mysql-8.4.0-winx64\bin目录下,以管理员身份打开cmd窗口,执行下面命令,产生root密码,牢记此密码
D:\mysql-8.4.0-winx64\bin>mysqld --initialize --console
2024-06-25T08:59:01.692662Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-06-25T08:59:01.695990Z 0 [System] [MY-013169] [Server] D:\DBServer\mysql\mysql-8.4.0-winx64\bin\mysqld.exe (mysqld 8.4.0) initializing of server in progress as process 19892
2024-06-25T08:59:01.717284Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-06-25T08:59:01.919501Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-06-25T08:59:03.365808Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qr<?b?CM#1FG
2024-06-25T08:59:05.373595Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
D:\mysql-8.4.0-winx64\bin>
# root@localhost: 后面就是生产的root密码,如下
...
root@localhost: qr<?b?CM#1FG
...
- 进入到MySQL的bin目录下,执行下面命令
mysqld --install [服务名](服务名可以不加默认为mysql)
D:\mysql-8.4.0-winx64\bin>mysqld --install
Service successfully installed.
D:\mysql-8.4.0-winx64\bin>
如果出现下面这,表示已经安装过mysql,则使用 命令sc delete mysql删除后重新安装
D:\mysql-8.4.0-winx64\bin>mysqld --install
The service already exists!
- 安装完成后,启动mysql服务
#启动服务
net start mysql
D:\mysql-8.4.0-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
D:\mysql-8.4.0-winx64\bin>
# 停止服务
net stop mysql
2. 首次登录及修改root密码
1. 首次登录
- 使用下面命令登录MySQL服务
C:\Users\jinshengyuan>mysql -u root -p
Enter password: ************ # 首次登陆输入安装过程中产生的root用户密码,如:qr<?b?CM#1FG
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.0
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
2 . 修改root密码
举例:如密码改为 db123
# alter user 'root'@'localhost' identified by 'db123';
mysql> alter user 'root'@'localhost' identified by 'db123';
Query OK, 0 rows affected (0.01 sec)
# 修改成功后,再次登录时输入密码 db123即可
3. 设置客户端可连接远程MySQL服务器
- 用root账号登陆,切换至mysql库
mysql> use mysql;
Database changed
mysql>
- 查看host字段
# localhost 表示只能在本地访问
# % 远程任何主机可以访问root账户
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
mysql>
- 修改host为值为”%“
# 执行语句: update user set host='%' where user='root';
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>
# 再次查看
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
- 再次使用远程客户端连接成功
4. 常见问题
1. ERROR 2003 (HY000)
1. 问题描述
远程连接时出现如下问题
C:\Users\admin>>mysql -h 192.168.31.22 -p in cmd at 16:02:32
Enter password: ********
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.31.22:3306' (10060)
2. 原因分析
此问题可能原因如下:
- 防火墙开启,且未开放3306端口。
- 在my.ini或my.cnf中配置了
bind-address = 127.0.0.1
3. 处理方法
- 关闭防火墙或开放3306端口
- 可将
bind-address
配置注释掉或改为bind-address=主机的ip
2. ERROR 1524 (HY000)
1. 问题描述
远程登录时,输入root用的密码后出现如下问题
C:\Users\admin>>mysql -h 192.168.31.22 -p in cmd at 16:11:41
Enter password: ******** # 这里输入正确的密码如下
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
2. 原因分析
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
的错误,通常是因为MySQL 8默认使用caching_sha2_password
插件,而不是mysql_native_password
插件,导致的
3. 处理方法
1. 修改用户密码插件
如果你需要将一个用户的身份验证插件更改为
mysql_native_password
,可以使用如下命令:
alter user 'username'@'host' identified with mysql_native_password by 'new_password';
# 如更改root用户密码插件,如下:
alter user 'root'@'%' identified with mysql_native_password by 'db123';
2. my.ini或my.cnf中配置密码插件
将密码插件配置为mysql_native_password=ON
# 从MySQL8.4开始,配置为 mysql_native_password=ON
mysql_native_password=ON