原来使用的是5.5的mysql,现在重装一个5.7版本的mysql,以下是我重装的一些步骤
1. 卸载原有MySQL数据库
1.1 找到原先MySQL的数据文件,一般是在安装目录下的 data 文件夹,拷贝整个 data 文件夹到目录外的地方。
1.2 在计算机服务里找到MySQL这个服务并停止
1.3 使用各种工具进行卸载,例如安装包或者卸载程序
1.4 在注册表里(regedit)清除你的MYSQL服务
HEKY_LOCAL_MACHINE\SOFTWARE\MYSQL目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog \Application\MySQL目录删除
运行中键入regedit,进入注册表编辑器,然后再查找中输入MySQL,删除掉与此相关的内容。
2.重装MySQL
2.1 在官网上下载MySQL,安装版或者免安装版,
2.2 如果是面安装版,直接把文件解压在想要放置的位置,并且在path中配置环境变量
2.3 安装文件的目录下新建一个my.ini文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-5.7.23-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\mysql-5.7.23-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.4 打开cmd(注意以管理员身份运行)->输入cd D:\Program Files\mysql-5.7.23-winx64\bin
输入mysqld install 如果提示The service already exists!
继续输入mysqld -remove
重新输入mysqld install
输入net start mysql 如果提示服务无法启动
运行mysqld --initialize(标题问题所在,若没有init则不存在data目录,自然无法启动成功)
输入net start mysql 即可提示服务启动成功,也就重新安装完成
在安装mysql5.7版本时,经常会遇到mysql -u root -p直接回车登陆不上的情况,原因在于5.7版本在安装时自动给了一个随机密码,坑爹的是在init步骤的时候不像linux系统会给出命令行提示,需要手动在mysql目录下搜索*.err,以文本形式打开才能看到如下内容:
016-02-25T15:09:43.033062Z 1 [Note] A temporary password is generated for root@localhost: xxxxxxx
xxxxxx就是给你的随机密码,通过用户名密码登陆后修改成想要的密码即可
3.重设数据库路径
3.1 如果想要使用原来拷出来的data路径
my.ini 的文件,用文本打开找到一行 datadir=…. ,然后修改成你原先MySQL备份的文件夹地址
在计算机服务中,找到MySQL服务,并重启它
进入MySQL数据库,会发现所有的东西都回来了,包括用户名,账号,数据库等等
(理论来说,把你拷出来的data放在新安装的文件data路径位置替换也可以使用原来的数据了,以后可以尝试一下)
参考博客:https://blog.csdn.net/u010379324/article/details/50913684