MYSQL-windows安装配置两个或多个版本MYSQL

安装第一个mysql很简单,这里不再赘述。主要说说第二个怎么安装,服务怎么配置。

1. 从官网下载第二个MySQL并安装

一般都是免安装版了,下载解压到某个文件目录下(路径中尽量不要带空格或中文),再新建一个my.ini文件(或者从第一个MYSQL里面复制一个),按照格式改一下,重点改port(端口不能相同)

重点强调下,一定要按照格式修改,路径这种千万不要错。比如是\还是\一定按照注释里的格式来写,不然后面会出问题。

my.ini示例如下:

bash 复制代码
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置端口,不设置默认3306
port = 3307
# 设置mysql的安装目录
basedir=D:\\software\\mysql-8.4.0-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可
# datadir=D:\\software\\mysql-8.4.0-winx64 
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL8.0默认的身份验证插件为caching_sha2_password,这将导致远程户端无法连接,可使用"mysql_native_password"插件认证解决客户端无法连接的问题,mysql_native_password再MySQL8.0中已过时,但任然可使用
# 从MySQL8.4开始,配置为 mysql_native_password=ON
mysql_native_password=ON
# default_authentication_plugin=mysql_native_password 此配置是在8.4以下的版本中的配置方法,8.4无此项

2. 系统环境变量Path配置一下

3. CMD以管理员身份进入第二个MySQL安装目录的bin目录下

这点非常重要!!!如果你不进入到第二个MySQL安装目录的bin目录下,后续所有初始化和安装服务操作都会跟第一个有冲突。

4. 初始化第二个MySQL

执行如下命令:

(示例中的路径需要替换成自己的安装目录)

bash 复制代码
mysqld --defaults-file=D:/software/mysql-8.4.0-winx64/my.ini --initialize --console
或
mysqld --initialize-source  (这种方式我也用过,建议还是第一种。)

5.复制初始化的密码(后续要用)

第二步执行后会有一段文字提示,里面有初始化后的密码,大概是这样一串,复制出来

root@localhost: lqDun&Xe=4Ig

冒号后面就是初始密码了。如果忘记密码了可以去安装目录下的data文件夹下找一个.err后缀的文件,查找A temporary password is这句话大概就可查到密码了。

如果在.err文件看到下图这句话也不用担心,那就是初始密码为空。

6. 安装配置第二个MySQL服务(示例中的路径需要替换成自己的安装目录)

此处注意服务名不要与第一个相同,自己定义一下

(检查是否CMD以管理员身份进入第二个MySQL安装目录的bin目录下)

bash 复制代码
mysqld install MySQL8.4 --defaults-file=D:/software/mysql-8.4.0-winx64/my.ini

7. 修改注册表

运行redegit打开注册表。搜索服务名称,修改对应的ImagePath。

没改之前你看到的ImagePath的value,双引号里面可能是第一个MYSQL的路径,改成第二的就好了。

注意先备份原来的,万一改错了还能回退。

bash 复制代码
"D:\software\mysql-8.4.0-winx64\bin\mysqld" --defaults-file=D:/software/mysql-8.4.0-winx64/my.ini MySQL8.4

8. 启动服务

bash 复制代码
net start MySQL8.4

如果服务配置错了,想删除,可以使用如下命令操作(必须是以管理员身份打开CMD):

bash 复制代码
查看服务
sc queryex type=service state=all
删除服务
sc delete MySQL8.4

到这里整个过程就差不多了,如果想要修改密码或调整root访问权限就继续往下看。

9. CMD窗口继续连接mysql (必须在第二个MySQL安装目录的bin目录下执行)

bash 复制代码
mysql连接3306的方式:
	mysql -u root -p
mysql连接非3306的方式,我设置的第二个MYSQL默认端口为3307:
	mysql -hlocalhost -P3307 -u root -p

10. 输入密码

上面初始化完记录的的密码复制过来即可。

如果密码回空,直接回车就好。

11. 修改密码为自己容易记住的密码(初始化的密码一般比较难记)

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

12. 授权,让root能通过IP访问。(有需要就做)

bash 复制代码
use mysql;
update mysql.user set host='%' where user='root';

13.测试连接

到这里就结束啦,如果出现其他问题可以留言讨论。

没做过总归会遇到各种奇奇怪怪的问题,我也是一样,不要放弃呀,总归会有解法的。

参考:https://blog.csdn.net/sinat_40770656/article/details/101027777

相关推荐
551只玄猫15 分钟前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理
q54314708727 分钟前
MySQL SQL100道基础练习题
数据库·mysql
zhoupenghui1681 小时前
mysql 中如果条件where中有or,则要求or两边的字段都必须有索引,否则不能用到索引, 为什么?
数据库·mysql·索引
eggwyw2 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
java修仙传3 小时前
MySQL 事务隔离级别详解
数据库·mysql·oracle
vistaup3 小时前
windows git 更新当前目录下所有的文件(非递归)
windows·git
Irissgwe3 小时前
MySQL存储过程和触发器专题
数据库·mysql·oracle
skiy5 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
HelloTonyGo5 小时前
个人游戏笔记本免费“养龙虾”(Win10+WSL2+OpenClaw 部署与配置指南)
windows·ubuntu·wsl2·openclaw
待续3015 小时前
OpenClaw 安装及使用教程(Windows / macOS / Linux)
linux·windows·macos