MySql8.4.x解压缩版之Windows中快速安装

MySql8.4.x解压缩版之Windows中快速安装

文章目录

  • MySql8.4.x解压缩版之Windows中快速安装
  • 1. 下载与安装
  • 2. 首次登录及修改root密码
    • 1. 首次登录
    • 2 . 修改root密码
  • 3. 设置客户端可连接远程MySQL服务器
  • 4. 常见问题
    • 1. ERROR 2003 (HY000)
      • 1. 问题描述
      • 2. 原因分析
      • 3. 处理方法
    • 2. ERROR 1524 (HY000)
      • 1. 问题描述
      • 2. 原因分析
      • 3. 处理方法
        • 1. 修改用户密码插件
        • 2. my.ini或my.cnf中配置密码插件

注意:

  1. MySQL 8.4 服务器需要 Microsoft Visual C++ 2019 Redistributable Package 可在 Windows 平台上运行。用户 应确保软件包已安装在系统上 在安装服务器之前。该软件包可在 Microsoft 下载中心。此外,MySQL调试二进制文件 需要 Visual Studio 2019。

  2. VC++2015-2022直接下载:https://download.visualstudio.microsoft.com/download/pr/1754ea58-11a6-44ab-a262-696e194ce543/3642E3F95D50CC193E4B5A0B0FFBF7FE2C08801517758B4C8AEB7105A091208A/VC_redist.x64.exe

  3. 在安装MySQL8.4确保 Microsoft Visual C++ 2019 Redistributable Package 已安装,否则会导致MySQL8.4安装失败

1. 下载与安装

  1. 官网下载:https://dev.mysql.com/downloads/
  2. 安装文件:mysql-8.4.0-winx64.zip
  3. 解压到D下:如:D:\mysql-8.4.0-winx64
  4. 环境变量配置
  • 在用户或系统变量中新增下面配置
变量名:MYSQL_HOME
变量值:D:\mysql-8.4.0-winx64
  • 在用户或系统变量的path变量值后面新增下面代码
%MYSQL_HOME%\bin
  1. 在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).
...
  1. 进入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
...
  1. 进入到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!
  1. 安装完成后,启动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. 首次登录

  1. 使用下面命令登录MySQL服务
C:\Users\jinshengyuan>mysql -u root -p
Enter password: ************ # 首次登陆输入安装过程中产生的root用户密码,如:qr
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服务器

  1. 用root账号登陆,切换至mysql库
mysql> use mysql;
Database changed
mysql>
  1. 查看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>
  1. 修改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)

  1. 再次使用远程客户端连接成功

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. 处理方法

  1. 关闭防火墙或开放3306端口
  2. 可将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

你可能感兴趣的:(数据库,MySQL8,windows,mysql,数据库)