mysql重新安装?忘记root密码?重装Windows、Linux系统导致mysql没法用吗? 这里有你想要的答案

近日遇到一个问题 重新安装了一下系统,但庆幸的是mysql的安装目录 没有安装在系统盘。

那么如何找回之前mysql内的数据?

长话短说,先讲一下来龙去脉。涨知识了

 

你是否有在Linux下安装过mysql,并且忘记了mysql root密码的经历?(或者Windows下)

你是否有配置过jdk环境变量的体验?

 

哈哈~ 相信很多小伙伴和我有过一样的经历。

发现密码登录不进去是不是快疯了?安装一个mysql都经历了多种磨难,甚至有小伙伴因为数据库问题   ~ _~ !一次没有安装好导致再来安装都不能成功。甚至后面还重装系统了。

 

那么下面将会是解决你所有疑问的答案:

以 mysql8.0 + Windows 环境 为例:

在你进行安装的的时候如果没有选择路径那么mysql默认安装在C盘,如果你有指定安装路径

那么找一下mysql的安装在那里了

 

如果你之前安装过Mysql

那么先检查一下服务里面有没有mysql服务 此电脑==》管理==》服务和应用程序==》服务  如下图

卸载mysql服务,如果有多余的服务可以通过

sc.exe delete 服务名            删除没用的服务,删除后需要重启电脑

sc.exe delete MySql

也可以用查看服务属性找到服务的位置mysqld.exe remove删除(这种方式不一定有效,如果路径出了问题的话,) 

 

如果原文件还在则可以通过这个路径下的mysqld.exe remove删除服务

 

我们来做个实验,体验一下解压缩版的(绿化的)mysql怎么配置,需要在一台没有安装过mysql的Windows下执行,可以用VMware虚拟即安装一个Windows环境,关于Windows的下载可以在我的安装操作系统中找的到,https://msdn.itellyou.cn/有所有Windows系统的ed2k链接的镜像,下载下来即可

第一步、去mysql官网下载一个免安装版的MySQL的zip包

https://dev.mysql.com/downloads/mysql/

然后进行解压缩,进入解压缩的目录下查看一下有上面文件

第二步、安装服务 和 初始化mysql 

通过Windows徽标 + X 再通过 A 以管理员身份运行powerShell窗口

注意一定要以管理员身份运行不然后面执行会报错(CMD也行同样管理员身份)

切换到解压缩目录下:

相应的命令

先   盘符:/

然后 cd 到解压缩目录

当然也可以按住Shift + 鼠标右键 会有一个powershell窗口

如下图

正式开始

安装服务  这个mysqld实际就是mysql的服务程序,所以运行mysqld就是运行mysql服务

.\mysqld.exe install

如果提示mysql已经安装了则在服务里找到mysql服务,启动mysql服务,或者通过mysql.exe remove移除服务先要stop停止

初始化

.\mysqld.exe --initialize-insecure --user=mysql

如上图会得到data文件夹,里面存放的是数据库信息,删除后数据库也不在了,需要重新操作才可

还不能登录需要手动启动服务 

 

第一次使用mysql 可以通过mysql.exe -u root -p直接登录进去,如果数据库里没有内容则删除data文件夹(手动关闭mysql服务才可以删除)

然后重新手动启动服务,重新初始化数据库如何登录进(第一次不需要密码) 将下面的123456改成你想要的密码即可

修改root密码(需要在mysql的bin目录下操作,如果配置了环境变量就不需要在bin目录下)

.\mysqld.exe -u root -p
use mysql;
ALTER USER `root`@`localhost` IDENTIFIED BY '123456';

 

如果你只是想安装mysql那么上面已经安装完了

 

 

下面是忘记root密码,进入数据库修改的操作

第1步、关闭服务 也可以通过服务手动关闭(前面的截图),或者输入下面的命令

net stop mysql

第2步、(管理员身份)cd 到mysql主目录的bin目录下

.\mysqld.exe --console --skip-grant-tables --shared-memory

如图 

需要另外开一个powershell窗口在bin目录下 按住Shift 鼠标右键会有一个在此处打开powershell窗口

然后登录进去(不需要输密码)直接回车即可登录进去

 .\mysql.exe -u root -p

启用mysql数据库

use mysql;

这里的 authentication_string不是密码后面操作才是真正修改密码的

update user set authentication_string='' where user='root';

上面只是为了运行root无密码登录,因为前面通过--skip-grant-tables选项导致修改密码的sql :  ALTER USER `root`@`localhost` IDENTIFIED BY '123456';不能修改密码

退出登录

quit

并且把那个执行命令带有 --skip-grant-tables 窗口关闭

然后启动mysql服务

net start mysql

按照正常的登录,不需要输root密码即可登录进去

 .\mysql.exe -u root -p
use mysql;

修改root密码 

ALTER USER `root`@`localhost` IDENTIFIED BY '123456';

 

 

 

 

在使用mysql的过程中是否有疑问?mysql的数据源到底放在了哪里?下面解答

mysql的数据源实际就在data文件夹内,我们进行一个实验尝试一下 

使用目的:

      证明mysql的数据源在data文件夹下,并且可以通过指定数据源路径,直接使用mysql找到原来的数据。即使现在电脑上没有安装mysql,然后通过复制原来mysql安装目录,来继续使用原来的mysql数据库和数据;

实验部分:

为了实验有效果我们创建一个数据库,这里干脆叫demo(如果你本身有数据库那么更好直接下面实验)

下面的使用即使没有安装过mysql数据库,也可以操作,只需mysql的主目录即可(数据data文件夹下)

第一步、关闭mysql服务 net stop mysql

 

第二步、新建my.ini文本文件,用来指定mysql位置和数据源位置

将mysql主目录下的data文件夹复制 到D:/盘根目录下 需要关闭服务才可以移动,否则会提示后台占用!

新建 my.ini 文本文件(干脆放在D:\mysql-8.0.18-winx64 即放在主目录下,5.5以前有这个文件后面都没有了)

写入如下的代码,指定数据库的主目录,数据源路径 以及端口

[mysqld]
basedir = D:\mysql-8.0.18-winx64
datadir = D:\data
port =3306

然通过mysqld启动mysql服务如下图

此时其实也可以通过第三方工具链接mysql 例如Navicat

下面通过命令连接,需要另开一个窗口

可以看到这里连上了mysql并且是原先的数据库!!

反例测试 一、

关闭前面所以powershell窗口

在前面的基础上 将my.ini删除,这样mysqld就找不到数据源,看下它提示了什么错误

这里因为没有my.ini告诉mysqld程序mysql主目录在那以及数据源在那,导致执行失败

现在通过.\mysql.exe -u root -p肯定连接不上因为mysql服务都没有启动起来

 

反例测试 二、

将my.ini的datadir删除,如下图

然后和前面一样试试 

此时报了一堆错误,具体错误自己看下错误的提示 ,然后你只需要根据错误的提示修改即可,

比如说第一个ERROR 提示 不能找到错误信息文件

error-message file只需要在配置文件 指定即可正确的位置即可

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗水人间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值