@File
2019-10-08T11:13:18.000000Z
字数 1764
阅读 148
web
按windows+R运行“regedit”,打开注册表
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹,如果没有可以不用删除了。我的没有就没删
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
官方下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=53840
Mysql8采用了新的密码验证方式,可以选择默认或选择第2个单选按钮(采用以前版本的密码验证方式),根据自己需要选择。
删除mysql的系统服务
mysqld --remove mysql80
安装mysql系统服务
mysqld --install mysql80
注意:
如果执行到Starting server报错:1045:Access denied for user 'root'@'localhost' (using password: NO)
由于Mysql8的密码加密方式发生了改变,在8.0中的用户密码采用cha2加密方法。
--登录mysql
e:\mysql\bin>mysql -uroot -p回车
Enter password:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)
mysql>use mysql;
--从数据库的user表中查询mysql用户原来使用的身份验证插件
--host: 允许用户登录的ip‘位置’%表示可以远程;
--user:当前数据库的用户名;
--authentication_string: 用户密码(后面有提到此字段);
mysql>select user,host,plugin,authentication_string from user;
--将用户root使用的身份验证插件替换为之前版本使用的mysql_native_password,修改成功后再次使用客户端工具,如无其它意外,就可以正常连接登录了
mysql>alter user 'root'@'localhost' IDENTIFIED BY '123456' password expire never;--设置为永不过期
mysql>alter user 'root'@'localhost' WITH mysql_native_password by '123456';--更新验证插件
mysql>alter user 'root'@'localhost' identity by mysql_native_password by '123456';
mysql>flush privileges;