在跑程序的时候突然莫名奇妙报错,本来以为程序的bug。
幸亏看了一下数据库,原来数据根本没有启动,再去找Mysql服务,找不到,本来装的好好的Mysql,上次开机还在用,这下我慌了,重装?不存在的。
默认64位的Mysql安装在系统的Program File中,以管理员的权限打开CMD,输入下列命令:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysqld -install
执行后,果然,在服务里面可以看到Mysql服务了。还有个问题,输入下述命令启动mysql竟然无法启动:
net start mysql
网上有博客说是端口冲突的问题,于是通过下面命令查找了一下3306端口是否被占用:
netstat -ano | findstr "3306"
试了三次,不行,没有应用占用3306端口。
传闻下面的操作会删除数据库,是真的吗?
答案最后揭晓。
利用initialize指令,创建数据文件目录和mysql系统数据库,并产生随机root密码
mysqld -initialize
以为这样就结束了?
你发现登陆不上数据库了,出现了下述的错误:
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
先把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服务,输入root用户名和密码,你会自己发现上面笔者留的问题的答案。没错,您的Mysql数据库已经被删了,尴尬,是不是瞬间想要跑路了,笔者按照网上的教程做的时候也有一种想要跑路的感觉。
最后,提示一下,笔者的Mysql数据库版本位8.0