本人前几天mysql数据库突然宕机了,在window命令行中localhost用户也无法通过mysql - u root -p 命令进入mysql,很是无奈,在不知道怎么解决的情况下删除了mysql的文件,之后重新配置。

首先cmd–>net stop mysql停止服务
1.打开控制面板卸载mysql的所有程序
2.进入C盘Program Files或者是Program Files(x86)删除mysql文件夹
3.删除C盘目录下C:\ProgramData中mysql文件夹
4.打开运行界面输入regedit,首先删除:

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的文件夹(这个文件夹我这里也没有找到)。


5.第一次可以只删除注册表上述三个信息,如果重装不成功,就要编辑查找所有带mysql的文件,并全部删除
6.最后一点,之前几次失败都是由于没有删除mysql服务。具体操作:打开cmd命令行,输入命令 sc delete mysql删除mysql服务。
7.之后按照正常步骤安装mysql 官网下载地址如下

5.7.29 windowsx64安装包,解压配置环境变量就可使用

8.重新安装配置

(1)配置环境变量
(2)新建文件my.ini,放置到mysql安装目录下,内容如下
[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=F:\work office\mysql-5.7.21\mysql-5.7.21-winx64

# 设置mysql数据库的数据的存放目录

datadir=F:\work office\mysql-5.7.21\mysql-5.7.21-winx64\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB 
(3)安装mysql服务 
已管理员身份打开cmd窗口,将目录切换到mysql安装文件夹下的bin目录下
 
执行mysqld install
(4)初始化mysql数据库,输入“mysqld --initialize --user=root --console”。下面红色文字为初始化后的root 密码
(5)启动mysql服务net start mysql
(6)使用生成的密码通过mysql -u root -p登录,然后mysql通过“setpassword=password('123456')”修改密码。此处将root密码设置为123456

附:

mysql默认密码的查看与修改

摘要

在安装成功后,怎么找到mysql的默认密码,折腾很长时间,最后发现在安装的过程中,产生了一个默认的随机密码。

密码

在mysql安装目录生成的data文件下,查找xxx.err的文件如图:

502 mysql重装后 重装mysql服务_502 mysql重装后

用记事本打开err文件

502 mysql重装后 重装mysql服务_502 mysql重装后_02

可以看到临时密码:<a5F34))PqMb

使用cmd命令行工具,用临时密码登录,进行修改密码

命令:mysql -u root -p

502 mysql重装后 重装mysql服务_mysql_03

修改密码sql

set password for root@localhost = password('123');


之前是自己在mysql文件夹下面创建一个data文件夹,所以在执行mysql --initialize命令的时候,没法真正的初始化data文件夹,于是我删了自创建的data,然后cmd里面运行mysql --initialize
data文件夹
data文件夹成功初始化
接着我试了一下net start mysql