密码重置:
方法一:利用--init-file参数解决
该参数指定服务启动时先执行一个包含sql命令文件,因此,只需要将重置密码的命令写在该文件中,以此参数指定启动时执行该命令,启动完成即可重置系统密码了。
第一步,关掉系统服务
net stop mysql
第二步,创建一个文本文件,内含一条密码修改命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
第三步:命令行方式启动服务器,指定启动时执行上述的密码修改命令文件
mysqld --init-file=C:\Program Files\MySQL\MySQL Server 8.0\password.txt --console
方法二:让--skip-grant-tables参数用起来
先关掉系统服务,
服务启动后,以空密码登入系统
mysql.exe -u root
然后执行sql命令将root用户密码设置为空
UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
具体操作截图
方法三:获得原始密码
第一步,删除date
第二步,初始化mysql数据库,输入“mysqld --initialize --user=root --console”。
其中红色的为原始密码,[Note] A temporary password is generated for root@localhost: u).ig.Gd.7hW
第三步,使用“net start mysql”成功启动msyql,“mysql -u root -p”后使用生成的密码登录mysql
第四步,修改密码。mysql> set password for root@localhost = password('123');
或者:mysqladmin -u用户名 -p旧密码 password 新密码
或者:mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
服务无法启动:
1.输入mysqld --console 吧信息打印到控制台 然后寻找一下信息中有没有出现
2018-10-17T12:35:16.437782Z 0 [ERROR] Can’t start server: Bind on TCP/IP port: No such file or directory
2018-10-17T12:35:16.437782Z 0 [ERROR] Can’t start server: Bind on TCP/IP port: No such file or directory
2018-10-17T12:35:16.439025Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2018-10-17T12:35:16.450300Z 0 [ERROR] Aborting
这几个错误,如果有就继续看下去。如果是不一样的错误的话我相信你已经有新的思路去找问题了。
2.输入netstat -aon|findstr “3306” 去查找占用了3306端口的进程id
3.然后打开任务管理器 到详细找到刚才看到的进程id 结束掉然后运行 net start mysql 就可以运行了
---------------------
借鉴 https://blog.csdn.net/koloumi/article/details/83117497