本人前几天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的文件如图:
用记事本打开err文件
可以看到临时密码:<a5F34))PqMb
使用cmd命令行工具,用临时密码登录,进行修改密码
命令:mysql -u root -p
修改密码sql
set password for root@localhost = password('123');
之前是自己在mysql文件夹下面创建一个data文件夹,所以在执行mysql --initialize命令的时候,没法真正的初始化data文件夹,于是我删了自创建的data,然后cmd里面运行mysql --initialize
data文件夹
data文件夹成功初始化
接着我试了一下net start mysql