windows10下同时安装两个mysql服务的解决办法

本机原本是安装了mysql5.7.2版本数据库,但是后来由于别的原因,需要安装一个mysql8.0.23版本的数据库,在安装第二个过程中遇到了很多问题,因此记录以下。

第一个mysql5.7.2版本的安装教程

第一个mysql数据库的安装很简单,基本不出出现问题,只需要安装以上步骤安装都可以。

第二个mysql8.0.23版本的安装教程

第一步(下载mysql的zip压缩包)

下载好之后随便找一个目录存放即可,目录路径不要含有中文。

第二步(配置环境变量)

因为需要同时安装两个mysql,防止混乱,配置环境变量。

以上为我的安装目录,然后打开环境变量的配置

直接在path中添加mysql目录下的bin的路径即可。

第三步(安装mysql8.0.23)

1、配置mysql8的my.ini配置文件,需要手动新建一个my.ini文本(注意:在bin的同级目录下)

2、然后再新建一个data文件夹

配置my.ini文本

因为之前安装的mysql5的端口是3306,因此配置mysql8的端口为3307,不可冲突。
配置文件中需要修改的只有basedir和datadir两个属性,其他的基本不需要修改。
basedir即mysql8的安装目录。
datadir即myslq8的data文件目录。
[mysqld]
# 设置3307端口
port=3307
# 设置mysql的安装目录
basedir=C:jinshudevelopAPPmysqlmysql8
# 设置mysql数据库的数据的存放目录
datadir=C:jinshudevelopAPPmysqlmysql8data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8

3、使用管理员身份打开dos命令窗口

cd切换到mysql8的bin目录下

4、安装mysql8的服务和初始化data

执行mysqld --initialize --console 命令 下面root@localhost:后面的内容即使初始化的数据库密码。后面登陆使用。

执行完之后可以打开刚才新建的data文件夹,里面会初始化数据,即成功。
安装服务,执行mysqld --install “服务名” 命令,我这里使用的mysql8,就是为了区分之前安装的mysql5服务。
接下来可以打开服务面板,查看是否成功安装mysql8的服务。
到这里,mysql8其实就已经安装好了,但是这个时候服务会无法启动,接下来就是最关键的一步

第四步(修改mysql8服务的注册表)

使用快捷键win+r打开运行窗口,输入regedit然后回车打开注册表

然后根据下面的路径,找到刚才新安装的mysql8

这里可以看到我刚才新的mysql8的数值数据指向的地址确实之前安装mysql5的路径,所以这里是不对的,将下面的内容前面的路径内容改为自己mysql8正确的路径即可。

修改前:

修改后:(注意,只需要修改路径,后面的mysqld mysql8这个内容不需要动)

第五步(启动mysql8服务)

注册表修改完之后,就可以正常启动mysql8的服务了

执行net start “服务名”命令,我的服务名是mysql8,这里可以看到mysql8是成功启动的。
然后打开服务面板,可以看到两个mysql服务是同时在启动。
登陆mysql8数据库,修改密码
执行mysql -u root -p命令,然后输入刚才的密码即可。
执行ALTER USER ‘root’@localhost’IDENTIFIED WITH mysql_native_password BY ‘新密码’;命令修改密码。
执行flush privileges;命令刷新信息。
可以使用quit;命令退出mysql,然后重新登陆进行验证密码是否修改成功。
经验分享 程序员 微信小程序 职场和发展