Windows运行多个MySQL

本文详细介绍了如何在Windows上复制并配置多个MySQL实例,每个实例使用不同的端口号,如3307、3308和3309。步骤包括修改my.ini配置文件、更新环境变量、初始化数据库、安装服务以及卸载服务时的注意事项,特别是避免影响原有的MySQL服务。
摘要由CSDN通过智能技术生成
  1. MySQL安装
  2. 适用场景
    1.需要在同一台计算机上运行多个独立的数据库时,每个数据库都需要独立的MySQL实例来维护
    
    2.需要在同一台计算机上运行不同版本的MySQL,因为不同版本可能具有不兼容的特性和配置选项
    
    3.需要在同一台计算机上运行不同的服务器配置,例如使用不同的内存限制或数据文件位置
    
    4.需要在同一台计算机上运行不同的数据库实例,例如为每个客户或项目分配单独的数据库
  3. 目录复制
    1.将已安装的mysql_8.0.31复制为mysql_3307、mysql_3308、mysql_3309
    
    2.mysql_3307、mysql_3308、mysql_3309分别对应端口号3307、3308、3309
    
    3.mysql_3307、mysql_3308、mysql_3309与mysql_8.0.31用户数据完全相同
  4. 环境变量
    D:\win11\program\mysql_3307\bin
    D:\win11\program\mysql_3308\bin
    D:\win11\program\mysql_3309\bin
  5. 配置文件(my.ini)
    D:\win11\program\mysql_3307\my.ini
    [mysqld]
    # 设置3307端口
    port=3307
    # 设置新建用户默认的身份验证插件
    default_authentication_plugin=mysql_native_password
     
    # 自定义设置mysql的安装目录,即解压mysql压缩包的目录
    basedir=D:\win11\program\mysql_3307
     
    # 自定义设置mysql数据库的数据存放目录
    datadir=D:\win11\program\mysql_3307\data
     
    # 允许最大连接数
    max_connections=200
     
    # 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
     
    # 服务端使用的字符集默认为UTFMB4
    character-set-server=utf8
     
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
     
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
     
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口和默认字符集
    port=3307
    default-character-set=utf8mb4
    D:\win11\program\mysql_3308\my.ini
    [mysqld]
    # 设置3308端口
    port=3308
    # 设置新建用户默认的身份验证插件
    default_authentication_plugin=mysql_native_password
     
    # 自定义设置mysql的安装目录,即解压mysql压缩包的目录
    basedir=D:\win11\program\mysql_3308
     
    # 自定义设置mysql数据库的数据存放目录
    datadir=D:\win11\program\mysql_3308\data
     
    # 允许最大连接数
    max_connections=200
     
    # 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
     
    # 服务端使用的字符集默认为UTFMB4
    character-set-server=utf8
     
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
     
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
     
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口和默认字符集
    port=3308
    default-character-set=utf8mb4
    D:\win11\program\mysql_3309\my.ini
    [mysqld]
    # 设置3309端口
    port=3309
    # 设置新建用户默认的身份验证插件
    default_authentication_plugin=mysql_native_password
     
    # 自定义设置mysql的安装目录,即解压mysql压缩包的目录
    basedir=D:\win11\program\mysql_3309
     
    # 自定义设置mysql数据库的数据存放目录
    datadir=D:\win11\program\mysql_3309\data
     
    # 允许最大连接数
    max_connections=200
     
    # 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
     
    # 服务端使用的字符集默认为UTFMB4
    character-set-server=utf8
     
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
     
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
     
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口和默认字符集
    port=3309
    default-character-set=utf8mb4
  6. 命令变更
    分别进入mysql_3307、mysql_3308、mysql_3309的bin目录将所有.exe文件添加端口号后缀
    
    1.cd D:\win11\program\mysql_3307\bin
    for /R %i in (*.exe) do ren "%i" "%~ni_3307.exe"
    
    2.cd D:\win11\program\mysql_3308\bin
    for /R %i in (*.exe) do ren "%i" "%~ni_3308.exe"
    
    3.cd D:\win11\program\mysql_3309\bin
    for /R %i in (*.exe) do ren "%i" "%~ni_3309.exe"
    
    注意:命令变更后操作对应数据库的命令需要加上端口号,比如操作MySQL_3307的命令
    数据库连接命令:mysql_3307 -u root -p
    数据库初始化命令:mysqld_3307 --initialize-insecure --defaults-file="xxxx\my.ini"
    数据库安装命令:mysqld_3307 install MySQL_3307 --defaults-file="xxxx\my.ini"



  7. 安装运行

    1.安装MySQL_3307
    mysqld_3307 --initialize-insecure --defaults-file="D:\win11\program\mysql_3307\my.ini"
    mysqld_3307 install MySQL_3307 --defaults-file="D:\win11\program\mysql_3307\my.ini"
    
    2.安装MySQL_3308
    mysqld_3308 --initialize-insecure --defaults-file="D:\win11\program\mysql_3308\my.ini"
    mysqld_3308 install MySQL_3308 --defaults-file="D:\win11\program\mysql_3308\my.ini"
    
    3.安装MySQL_3309
    mysqld_3309 --initialize-insecure --defaults-file="D:\win11\program\mysql_3309\my.ini"
    mysqld_3309 install MySQL_3309 --defaults-file="D:\win11\program\mysql_3309\my.ini"
    




  8.  服务卸载

    1.关闭服务 2.服务改为手动启动 3.regedit打开注册表编辑器
    
    4.删除MySQL_3307、MySQL_3308、MySQL_3309服务注册信息
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL_3307
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL_3308
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL_3309
    
    5.重启电脑 6.删除data目录
    
    注意:不要使用mysqld_3307 remove等命令卸载(亲测不好使 甚至会将原有MySQL服务删除)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童心同萌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值