多安装mysql8
前言
原本已安装mysql5.7,原本可以试着删除5.7版本的,但是里面保存了一些数据不想删掉,还有数据库的卸载也是一个很奇怪的过程,一不小心删不干净就很难再安装了,所以就想着再安装一个8.0就好了,原本以为只是改一下端口而已,但是在这个过程还是出现了很多问题,然后我尝试了很多种过程,在这里就讲一下自己的最后一遍,可能和网上别人的步骤有点出入。
先把之前的5.7的服务关掉(为什么要关掉,我也不知道,我已经被折磨的不行了,就试一下),在任务管理器的服务一栏可以找到
下载mysql8.0的解压版
链接
MySQL :: Download MySQL Community Server
解压
文件内容准备
开始没有data和my.ini文件。
网上说data文件夹不需要自己手动创,不然报错什么的,我也试了这个做法,但是后面一直出现无法链接本地主机什么的错误,后面还有说到这个问题然后我就重新来,在最开始的时候自己手动创建了一个空的data
创建并编辑my.ini文件
这里为mysql8设置3307端口,因为5.7版本的占用了3306端口。
可以进入cmd(不需要管理员权限):输入 Netstat -ano|findstr 3307 查看3307是否被占用,没有则什么都不会返回,我们就可以使用这个端口
1 | [mysqld] |
增加环境变量
右键电脑->属性->高级系统设置->环境变量->找到path->添加路径(D:\MySQL\mysql-8.0.25-winx64\bin),路径看自己的安装情况,主要就是方便后面在cmd中的切换,也可以不用设置
玄学开始
data文件夹
多安装一个mysql是很玄学的事情,网上大多数情况都是不能手动添加data文件的,不然会报一个错误,所以我这里从一开始就没有自己创建过,都是等运行命令mysqld –initialize –console才让它自己生成data文件。然后这里我就说一下自己最后一遍的做法(成功案例),因为我一直在重复这个步骤,一直报错,说什么无法连接到localhost,我也不知道具体哪一步我错了,最后一次我成功了,我重头开始,换成开始就创建了一个空的data文件夹
初始化data文件
管理员身份运行
输入路径可以快速切换到bin目录
输入初始化命令
mysqld –initialize –console
此时在之前创建的空data目录多了很多文件
保留生成的密码串
初始化data文件夹之后会生成一个首次登陆的密码串:
不包含最前面的空格,有时候最后一个字符可能是分号“ ; ”,它也是密码的一部分,要一起输进去
如果看不清是英文字母“ l ”还是阿拉伯数字“ 1 ”,两者在cmd界面长得太像了,介意直接复制粘贴,或者复制到微信输入框,可以辨别清楚
创建、启动服务
mysqld –install mysql8(mysql8主要就是为了和之前5.7版本的服务名区分开来),然后开始服务:net start mysql8
在这里可能出现服务无法启动的情况:见下面描述
修改注册表
首先win+r,输入 regedit 打开注册表,寻找路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql8
修改imagePath的数据部分,格式和5.7版本的一样,我的5.7版本则是在上面的MySQL,可以打开查考一下
登录数据库
开启服务成功之后就要去登录数据库了:mysql -uroot -P3307 -pC6.d5B;pt-v1
mysql -uroot -P3307 -p(前面生成的很奇怪的初始密码)
最后这一波操作就很灵性了,也是玄学之一。
如图所示,我被这个错误折磨了一下午ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost:3307’ (10061),网上的那些也说得奇奇怪怪,感觉和没说一样,然后我就试着停止服务,开始服务之后,再登录一次,居然成功了!!!芜湖起飞!!!可以看到,我什么都没改,却又成功了,停止和开启mysql8服务这个操作我试了半天了,试了无数次了,却在这个时候可以了。然后它为什么可以了,它和前面的操作的差别就在于上面所提到的的,我自己先创了一个空的data目录,,,一个一直被喷的做法却救了我,想无。
修改密码
既然进来mysql8数据库了,就修改一下密码(最后记得要分号):
ALTER USER ‘root‘@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘自己的密码’;
希望对你们有帮助,在这里我就建议就多试试,多试一下不同的安装过程,不要那么死板,一堆人说不可以这么做你就不敢或者不想去自己试一下,(其实要不是自己走投无路了,我也不会去试一试哈哈哈),反正data文件夹随便删,它不影响整体,还可以一直被创建。
两个服务同时开启互不影响
登陆的时候只要提供不同的端口即可
mysql -uroot -P3307 -p
mysql -uroot -P3306 -p