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盘处理
创建在解压后文件夹内创建 my.ini 文件
文件内容如下,(根据自身版本选一个即可,我都要)
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文件夹,该文件夹内为数据库数据(表、索引等)
文件夹内有用户名.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
即可
本文来自博客园,作者:KMP,转载请注明原文链接:https://www.cnblogs.com/touchTomorrow/p/17028151.html