在跑程序的时候突然莫名奇妙报错,本来以为程序的bug。

幸亏看了一下数据库,原来数据根本没有启动,再去找Mysql服务,找不到,本来装的好好的Mysql,上次开机还在用,这下我慌了,重装?不存在的。

MYSQL 总自己 删库 mysql删库跑路_mysql


默认64位的Mysql安装在系统的Program File中,以管理员的权限打开CMD,输入下列命令:

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysqld -install

执行后,果然,在服务里面可以看到Mysql服务了。还有个问题,输入下述命令启动mysql竟然无法启动:

net start mysql

MYSQL 总自己 删库 mysql删库跑路_MYSQL 总自己 删库_02


网上有博客说是端口冲突的问题,于是通过下面命令查找了一下3306端口是否被占用:

netstat -ano | findstr "3306"

MYSQL 总自己 删库 mysql删库跑路_sql_03


试了三次,不行,没有应用占用3306端口。

传闻下面的操作会删除数据库,是真的吗?

答案最后揭晓。

利用initialize指令,创建数据文件目录和mysql系统数据库,并产生随机root密码

mysqld -initialize

MYSQL 总自己 删库 mysql删库跑路_sql_04


以为这样就结束了?

你发现登陆不上数据库了,出现了下述的错误:

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

MYSQL 总自己 删库 mysql删库跑路_mysql_05


先把mysql服务关了吧,抽根烟冷静冷静。

不急,还有救,输入下列指令:

mysqld --shared-memory --skip-grant-tables

可以看到界面暂停了,这个时候,您还要再用管理员的身份打开一个CMD,并输入下面的指令:

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql

接着,可以看到可以进入mysql数据库了,执行下面的语句更新mysql权限表,并修改mysql的root用户的密码。

flush privileges;
 Alter user 'root'@'localhost' identified by '123456';

MYSQL 总自己 删库 mysql删库跑路_MYSQL 总自己 删库_06


接着,启动mysql服务,输入root用户名和密码,你会自己发现上面笔者留的问题的答案。没错,您的Mysql数据库已经被删了,尴尬,是不是瞬间想要跑路了,笔者按照网上的教程做的时候也有一种想要跑路的感觉。

MYSQL 总自己 删库 mysql删库跑路_sql_07


最后,提示一下,笔者的Mysql数据库版本位8.0