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

相关推荐
abandondyy1 小时前
MySQL---主从复制和读写分离
数据库·mysql
DEARM LINER2 小时前
mysql 巧妙的索引
数据库·spring boot·后端·mysql
不惑_3 小时前
Redis与MySQL双写一致性的缓存模式
redis·mysql·缓存
伏虎山真人5 小时前
开源数据库 - mysql - 组织结构(与oracle的区别)
数据库·mysql·开源
想做白天梦8 小时前
多级反馈队列
java·windows·算法
岁岁岁平安9 小时前
mysql上课总结(1)(mysql中的常见的存储引擎)(面试)
数据库·mysql·innodb·存储引擎
昨天今天明天好多天12 小时前
【Linux】MySQL部署
linux·mysql·adb
我还能再卷一点12 小时前
Linux安装mysql【超详细】
linux·mysql·adb
新知图书16 小时前
MySQL 9从入门到性能优化-创建触发器
数据库·mysql·性能优化
大只因bug16 小时前
基于Springboot的在线考试与学习交流平台的设计与实现
java·spring boot·后端·学习·mysql·vue·在线考试与学习交流平台系统