1.下载和解压:首先,从MySQL官方网站下载所需的两个版本(MySQL 8.0和MySQL 5.7)的压缩包,并将其解压到不同的目录中。
2.配置my.ini文件:为每个版本创建一个my.ini
配置文件,设置不同的端口号(例如MySQL 8.0使用3306端口,而MySQL 5.7使用3305端口),以及其他必要的参数如安装目录、数据存放目录等。
[mysql]
# MySQL5.7
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# MySQL服务器会跳过权限验证表
# skip_grant_tables
# 设置3307端口 与之前的3306接口不重复
port = 3307
default_authentication_plugin=mysql_native_password
bind-address = 0.0.0.0
# 设置mysql的安装目录(你自己安装mysql的目录)
basedir=D:\\soft\\mysql-5.7.44-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\soft\\mysql-5.7.44-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# MySQL8.0
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# MySQL服务器会跳过权限验证表
# skip_grant_tables
# 设置3307端口 与之前的3306接口不重复
port = 3306
default_authentication_plugin=mysql_native_password
bind-address = 0.0.0.0
# 设置mysql的安装目录(你自己安装mysql的目录)
basedir=D:\\soft\\mysql-5.7.44-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\soft\\mysql-5.7.44-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
注意:如果有MySQL8.0停止已安装的MySQL80服务。
3.初始化数据库:在命令行窗口中以管理员身份运行,进入各自的bin
目录,执行初始化命令(如mysqld --initialize --console
),并记录生成的初始密码。
MySQL5.7:mysqld --initialize --console
MySQL8.0:
mysqld --initialize --console
4.安装服务:使用命令(如mysqld --install MySQL57
)将MySQL服务安装到系统中,并确保服务名称和路径正确指向对应的版本。
MySQL5.7:mysqld --install mysql57
--defaults-file="D:\MySQL\mysql57\my.ini"
MySQL8.0:mysqld --install mysql80
--defaults-file="D:\MySQL\mysql80\my.ini"
(备注:如果已经创建服务,可以使用以下命令修改。MySQL80服务名)
查看服务配置信息:
(中文乱码:执行 chcp 65001)
1. **查看服务状态及基本信息**
- 在命令提示符(CMD)中,可以使用`sc`(Service Control)命令查看MySQL服务的基本状态和配置信息。例如,如果MySQL服务名称是“MySQL80”,执行以下命令:
```
sc query MySQL80
```
这个命令会返回服务的状态(如`RUNNING`(正在运行)、`STOPPED`(已停止)等)、服务类型(如`WIN32_SHARE_PROCESS`等)、启动类型(如`AUTO_START`(自动启动)、`DEMAND_START`(手动启动)等)以及其他一些基本信息。
2. **查看服务详细配置(通过注册表)**
- MySQL服务的部分配置信息存储在Windows注册表中。可以通过`reg`命令查看相关的注册表键值来获取部分配置信息。首先,找到MySQL服务在注册表中的键路径,通常在`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`下。假设MySQL服务名称是“MySQL80”,执行以下命令来查看服务的启动路径(这个路径可能包含部分配置信息,如配置文件路径):
```
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80" /v ImagePath
```
其中`/v ImagePath`表示查询名为`ImagePath`的键值,这个键值通常包含了MySQL服务可执行文件的路径以及一些启动参数(可能包括配置文件路径相关信息)。不过,这种方法只能获取注册表中存储的有限信息,且修改注册表需要谨慎操作,因为错误的修改可能会导致系统问题。
3. **查看配置文件内容(推荐方法)**
- 如果知道MySQL服务所使用的配置文件路径(通常是`my.ini`或`my.cnf`),可以使用`type`命令查看配置文件内容。例如,如果配置文件路径是`D:\Program Files\MySQL\mysql - 8.0.36 - winx64\my.ini`,执行以下命令:
```
type "D:\Program Files\MySQL\mysql - 8.0.36 - winx64\my.ini"
```
配置文件中包含了如端口号(`port`)、数据目录(`datadir`)、字符集(`character - set - server`)等各种重要的MySQL服务配置参数,这是查看MySQL服务详细配置的最直接方式,但前提是要确定配置文件的正确位置。
修改服务配置信息:
(Windows命令提示符管理员运行)
通过注册表修改:
步骤一:打开注册表
Win + R
regedit
步骤二:导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services路径下,找到服务MySQL80
步骤三:修改 ImagePath 值
在找到的 MySQL 服务对应的注册表键中,找到名为ImagePath的键值。这个键值存储了 MySQL 服务的可执行文件路径以及相关的启动参数(类似于binPath)
"D:\Program Files\MySQL\mysql-8.0.36-winx64\bin\mysqld.exe" --defaults-file="D:\Program Files\MySQL\mysql-8.0.36-winx64\my.ini" MySQL80
MySQL8.0修改:
sc config MySQL80 binPath= "D:\Program Files\MySQL\mysql-8.0.36-winx64\bin\mysqld.exe" --defaults-file="D:\Program Files\MySQL\mysql-8.0.36-winx64\my.ini" MySQL80
MySQL5.7修改:
sc config mysql57 binPath= "D:\soft\mysql-5.7.44-winx64\bin\mysqld.exe" --defaults-file="D:\soft\mysql-5.7.44-winx64\my.ini" mysql57
5.启动服务:通过命令(如net start MySQL57
)启动MySQL服务,并测试连接是否成功。
使用命令提示符(CMD)
net stop MySQL80
net start MySQL80
测试连接: mysql -u root -p -h localhost -P 3307
6.修改密码和权限:首次登录时,可能需要修改root用户的初始密码,并进行权限刷新
MySQL5.7:
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
刷新权限:FLUSH PRIVILEGES;
MySQL8.0:
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
刷新权限:FLUSH PRIVILEGES;