由于通过命令改远程链接,我换了其他网络后链接不上数据库。
use mysql;
update user set host='XX.XX.XX.XX';
报错:

经过网上查阅一番使用skip-grant-tables来处理,发现还是不ing,然后才发现mysql8.0之后的版本都不支持在my.ini直接加skip-grant-tables,所以这方法行不通。
网上参考了其他人的方案后,记录一下我的解决过程。
停止mysql服务,命令 :net stop mysql 或者 通过服务来关闭

找到mysql安装目录 下的data目录 删除ib_logfile0 和ib_logfile1两个文件。

3.打开cmd,使用管理员权限打开,找到mysql安装目录 下的bin目录,执行命令:mysqld --console --skip-grant-tables --shared-memory,注意执行命令后 不要关闭和其他动作。

然后重新打开一个窗口,之前那个不能关,一样打开cmd,使用管理员权限打开,找到mysql安装目录 下的bin目录 运行命令:mysql -uroot -p,然后输入密码,即可进入mysql。
最后通过命令修改,让所有主机包括localhost连接到mysql,使用%替换localhost,然后flush privileges。命令如下:
use mysql
update user set host = '%' where user = 'root';
flush privileges;

本文参考:https://blog.csdn.net/qq_45721173/article/details/119053873