最近安装mysql8.0数据库,用以前的修改mysql方法,没有成功,所以参考网上前辈的做法,自己重新整理了下忘记密码时进行修改方法
1、安装mysql8.0后发现,在安装目中,是没有my.ini 和 data目录的,所以需要自己新建一个my.ini和data目录
my.ini的基本代码就这几行配置(C:Program FilesMySQLMySQL Server 8.0是我安装路径),可以自己建立个txt,然后重命名为my.ini。
当然这里也可以在C:ProgramDataMySQLMySQL Server 8.0目录下将my.ini复制到安装目录,然后修改配置信息。
[mysqld] basedir=C:Program FilesMySQLMySQL Server 8.0 datadir=C:Program FilesMySQLMySQL Server 8.0data port = 3306
character-set-server=utf8 #忘记密码时使用#skip-grant-tables#设置协议认证方式(重点啊)default_authentication_plugin=mysql_native_password [mysql]default-character-set=utf8
2、配置环境变量,将安装目录下的bin文件夹的路径配置到系统变量中的path下(C:Program FilesMySQLMySQL Server 8.0in)
3、记录初始化密码
以管理员身份运行命令提示符后输入,mysqld -- initialize --console,运行成功后就可以看到下图了,看【Note】后面的信息:vs!d_iZfd6df,很重要哦,这是初始化密码,记录下
提示:如果你关了这个窗口,或者没记住,那也没事,删除安装目录中data里面文件,再执行一遍初始化命令,又会重新生成的,这次再记住吧。
4、安装服务 mysqld --install 服务名
(可以不写,默认是MySql,如果你的电脑上重新安装个服务名称,需要添加哦),安装成功后控制它会提示:success ** (忘记了)
mysqld --install [服务名]
5、启动服务(这时候不要去登录mysql,登录不进去的,必须要先启动)
6、登录mysql,输入:mysql -u root -p,会提示你输入密码,这会就用到刚才第3步记录的初始化密码了
这里需要注意下,如果老进不去,那肯定是密码输错了,或者服务没启动。
7、修改密码
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
注意:重点啊,如果你没有设置认证方式,默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not support authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,没关系,去my.ini里面在[mysqld]下面加上这句话即可:
default_authentication_plugin=mysql_native_password(这句是我炒的哦,因为我一次就成功了,万一哪天不对了,可以参考)