本文主要介绍关于mysql重新安装的问题。很详细,有一定的参考价值。感兴趣的朋友一定要看完!
最近遇到一个问题,重新安装了系统,不过好在系统磁盘上没有安装mysql安装目录。
00-1010长话短说,先说前因后果。知识增加了
那么如何找回之前mysql内的数据?
10-1010哈哈~相信很多朋友都有过和我一样的经历。
发现密码无法登录你疯了吗?安装一个mysql经历了很多磨难,甚至有些朋友还出现了数据库问题~ _ ~!如果不安装一次,将无法再次安装。甚至在后面重新安装了系统。
00-1010以mysql8.0 Windows环境为例:
如果安装时不选择路径,默认情况下,如果指定安装路径,mysql安装在c盘。
然后找出mysql安装在哪里。
00-1010然后首先检查服务中是否有mysql服务。该pc=="管理=="服务和应用=="服务如下图所示
卸载mysql服务,如果有任何额外的服务可以通过
Sc.exe删除服务名称删除无用的服务,删除后需要重新启动计算机。
Sc.exedeleteMySql也可以通过检查服务属性找到服务的位置来删除,mysqld.exe Remove(这个方法不一定有效,如果路径有问题,)
如果原始文件仍然存在,您可以通过删除此路径中的mysqld.exe来删除服务。
让我们做一个实验,体验一下解压缩版的(绿化的)mysql怎么配置,它需要在没有安装mysql的Windows下执行。您可以使用VMware虚拟安装Windows环境。Windows的下载可以在我安装的操作系统中找到。https://msdn.itellyou.cn/有所有Windows系统ed2k链接的镜像,你可以下载。
你是否有在Linux下安装过mysql,并且忘记了mysql root密码的经历?(或者Windows下)
https://dev.mysql.com/downloads/mysql/
然后解压,进入解压目录,检查是否有上述文件。
00-1010通过Windows徽标X然后通过a以管理员身份运行powerShell窗口。
一定要以管理员身份运行,否则以后会出错(CMD也和管理员一样)
切换到解压缩目录:
相应的命令
第一个驱动器号:/
然后cd到解压目录。
当然也可以按住Shift鼠标右键,会有一个powershell窗口。
下图
00-101010
你是否有配置过jdk环境变量的体验?
.\ mysqld.exeinstall如果系统提示您已经安装了mysql,请在服务中找到mysql服务,启动mysql服务,或者由mysql.exe删除该服务。先停下来。
初始化
.\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只需要在配置文件 指定即可正确的位置即可
以上是“mysql重新安装的疑问问题有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154049.html