写这篇文章起初是我想搭建一个虚拟机内开发实验环境,然后就想到了XAMPP
这个工具可以一键启动Apache
,MySQL
…这些服务嘛,懒得去折腾那些个环境了
我这里下载的是XAMPP 7.4.29
的版本,在官方那边同时上传的还有8.0.19
和8.1.6
两个版本。问我为啥用7.4.29
,跟着大众下载的步伐永远不会错嘿嘿
下载地址:XAMPP - Browse /XAMPP Windows at SourceForge.net
随后装好了我们打开XAMPP
软件去启动MySQL
服务,然后输入命令mysql -V
看一下版本号
这里推荐用
XAMPP
软件的右边的功能:Shell
打开命令窗口,不然不好连接MySQL
(呃…不认得这个版本)去搜了下,MariaDB 10.4.24
是MySQL
的一个分支,操作方式都和MySQL
几乎一致,但是10.4.24
这个版本还是太高了,怕高版本的数据库对我的项目兼容性不好,我这里将MySQL
替换版本为5.7.X
的
先去下载个5.7.X
解压版的文件
下载链接:MySQL :: Download MySQL Community Server
改版本之前记得先停止
XAMPP
的MySQL
服务先将
XAMPP
安装目录下的mysql
目录备份一下
解压一下刚刚下载的MySQL
压缩包
将里面的bin
,lib
,share
目录复制到XAMPP
目录下的mysql
目录内
如果XAMPP
目录下的data
目录内有文件,全部删掉
用管理员身份打开cmd
进入XAMPP
目录下的mysql\bin\
目录,然后运行命令:
mysqld --initialize
进行初始化,它会在data
目录下自动创建新的文件
将刚刚备份的mysql
目录里面的bin
目录下的my.ini
文件复制替换到XAMPP
目录下的mysql\bin\
目录
进行到这里,理论上可以了,我们运行XAMPP
的MySQL
服务看看
有报错,我们检查一下Logs
日志文件
发现问题,提示未知变量,我猜这个应该就是MariaDB 10.4.24
新增的了,我们去mysql\bin\my.ini
文件里找找
果真有,将它注释掉,然后再次运行MySQL
服务
成功换版本
然后现在你会发现一个新问题,从XAMPP
软件的右边的Shell
进入MySQL
:
密码不对了
现在我们关掉XAMPP
的MySQL
服务
用管理员身份打开cmd
进入XAMPP
目录下的mysql\bin\
目录,输入命令跳过权限验证(这个cmd
窗口不要关闭,这个跳过权限验证的方法是临时的,关掉这个窗口后就失效了,放后台就好):
mysqld --skip-grant-tables
你会发现XAMPP
里的MySQL
服务自动打开了
现在我们从XAMPP
的Shell
中登录MySQL
,用户名root,密码为空直接回车
mysql -u root -p
现在便登录上来了
然后我们继续输入MySQL
命令修改root用户密码,不要输入别的,这里必须先将密码改为空
use mysql;
update user set authentication_string='' where user='root';
quit;
输入完后把所有cmd
窗口和XAMPP Shell
窗口关掉,再在XAMPP
中重新开关一下MySQL
服务
接下来继续进入新的XAMPP Shell
窗口,输入命令:
mysql -u root -p
密码为空直接回车,然后重置密码,我这里改成123456
,大家按照自己想法来
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
quit;
然后重新输入命令登录
mysql -u root -p
现在就会发现密码修改好了
好了,写完了,XAMPP
上面的MySQL
折腾起来跟直装的还是不一样哈哈,理论上来说此方法换MySQL
其他版本的应该也适用,如果要装8.X
的话就是跳过密码验证那里可能不同,可以参照一下这篇博客:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法