Windows11系统下多实例安装MySQL8.0,安装MySQL5.7

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;

你可能感兴趣的:(MySQL,SQL,mysql,数据库,数据库开发)