window下MySQL的压缩包方式安装--单版本或多版本(5.7和8共存)通用

环境:win11
MySQL版本:5.7和8.31

1. 下载MySQL数据库

注意: 记得查看自己电脑是32位还是64位的,这里下的64位的,64位的电脑可以用32位的包,32位的用64的包可能有问题

8版本官网下载地址:MySQL :: Download MySQL Community Server

5.7版本下载:MySQL :: Download MySQL Community Server

2. 解压到自定义位置,下文按D盘处理

400

创建在解压后文件夹内创建 my.ini 文件
400
文件内容如下,(根据自身版本选一个即可,我都要)
8.0版本的,注意端口号单版本默认3306,多版本端口号不能相同,如果单斜杠安装路径不能要改成双斜杠(参考5.7的写法、本人安装是没有问题的),一定要改数据库路径为自己安装的路径

[mysqld]  
# 设置3306端口  
# 注意如果只安装一个版本建议改成默认端口号3306 
port=3308  
# 设置mysql的安装目录 如: D:\008_Soft\mysql-8.0.31-winx64  
basedir=D:\008_Soft\mysql-8.0.31-winx64  
# 设置mysql数据库的数据的存放目录  
datadir=D:\008_Soft\mysql-8.0.31-winx64\Data  
#设置时区为东八区(北京时间)
default_time_zone = '+8:00'
  
# 允许最大连接数  
max_connections=200  
# 允许连接失败的次数。  
max_connect_errors=10  
# 服务端使用的字符集默认为  
character-set-server=utf8mb4  
# 创建新表时将使用的默认存储引擎  
default-storage-engine=INNODB  
# 默认使用“mysql_native_password”插件认证  
#mysql_native_password  
default_authentication_plugin=mysql_native_password  
[mysql]  
# 设置mysql客户端默认字符集  
default-character-set=utf8mb4  
[client]  
# 设置mysql客户端连接服务端时默认使用的端口  
# 注意如果只按一个版本建议改成默认端口号3306
port=3308  
default-character-set=utf8mb4

#忘记密码 无密码登录
#skip-grant-tables

#启动报错:TCP/IP
#shared-memory

5.7版本的

[mysql]  
default-character-set=utf8  
[mysqld]  
#跳过密码登录 密码不管写什么都能登录成功  
#skip-grant-tables   
port = 3306  
# mysql服务器安装路径  
basedir=D:\\008_Soft\\mysql-5.7.27-winx64  
# mysql数据存放路径  
datadir=D:\\008_Soft\\mysql-5.7.27-winx64\\data  
max_connections=200  
character-set-server=utf8  
default-storage-engine=INNODB  
explicit_defaults_for_timestamp=true  
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

注意: 安装完一个版本后再安装下一个版本,不要并行操作,我这里是先安装8.0,后安装5.7

3. 管理员权限启动CMD并初始化数据库

快捷键:win+s搜cmd


执行下列语句:切换盘符到D盘,进入bin文件夹(以8.0为例)

D:
cd 008_Soft\mysql-8.0.31-winx64\bin

以下命令如未说明则都在bin文件夹下执行

输入命令初始化数据库(注意路径),记得把密码记录下来

8.0版本

mysqld --defaults-file=D:\008_Soft\mysql-8.0.31-winx64\my.ini --initialize --console

5.7版本同理更改为对应路径即可

执行成功后,有Data文件夹生成,5.7为data文件夹,该文件夹内为数据库数据(表、索引等)

400

文件夹内有用户名.err错误日志可用于排错

例如这里:
'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
是建议把弃用的default_authentication_plugin改为authentication_policy instead(上面配置已改)

4. 创建服务改密码

输入如下命令(注意路径)创建服务,服务名为mysql8(多版本安装服务名不能一样)

mysqld install mysql8 --defaults-file=D:\008_Soft\mysql-8.0.31-winx64\my.ini

如果需要安装多版本,就先不要启动数据库服务,回到第3步再来一次

启动服务:net start 服务名
报错了可以用sc delete mysql8 删除服务

登录数据库:输入mysql -u root -p回车后输入密码
更改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

报错可查看注册表下计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mysql服务名的ImagePath的路径是否正确


服务内查看服务是否创建成功

环境变量

快捷键win+pause可快速进入环境变量配置页面
添加变量是为了命令行模式下在任何地方都能操作数据库,但一般没这个需求多版本的话建议不配,可按如步骤配置,新建环境变量值为:安装位置/bin

常见报错

1.用户名.err内报错[ERROR] [MY-013183] [InnoDB] Assertion failure: trx0sys.cc:643:UT_LIST_GET_LEN(trx_sys->mysql_trx_list) == 0 thread 25564
- my.ini内添加一行shared-memory即可

posted @ 2023-01-05 17:02  KMP  阅读(322)  评论(2编辑  收藏  举报