1、MySQL忘记密码
注意:下面的方法是我过来好久才写的,没有去验证
mysql 5和8版本,改密码的命令不一样,这个以后完善
1、找到my.ini 文件 my.ini 文件为 MySQl 设置文件
2、设置权限认证跳过 skip-grant-tables
3、重启 mysql 服务
net stop mysql
net start mysql
4、mysql -uroot -p 登陆
5、重新设置密码
use mysql
update user set authentication_string = password ( ‘new-password’ ) where user = ‘root’ ;
6、在 my.ini 文件中去掉 加上的 skip-grant-tables
2、navicat连接不上
安装mysql 8后,用navicat连接不上,可能是加密方式不对,MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。
1、 我们先查看一下加密的方式, 输入:show variables like 'default_authentication_plugin';
但是Navicat不支持MySQL新版本的这种用户登录账户加密方式,
2、所以下面我们要修改root账户的加密方式为【mysql_native_password】
输入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
回车,即可修改成功,注意这里最后的root是你设置的root账户的密码,我设置的是“root”。
3、MySQL远程连接
远程连接mysql服务器报错ERROR 1130 可能是你的帐号不允许从远程登陆,只能在localhost。
这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,
从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root' and host='localhost';
mysql>select host, user from user;
mysql>flush privileges;
上面的set host= ‘%’ %可以改成指定的IP地址,%的意思是所以的ip都可以访问