共计 3292 个字符,预计需要花费 9 分钟才能阅读完成。
这篇文章主要介绍 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 只需要在配置文件 指定即可正确的位置即可
以上是“mysql 重新安装的疑问问题有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!