第一步:
下载地址: https://dev.mysql.com/downloads/mysql/
第二步:
添加环境变量: MYSQL_HOME:你的mysql路径 (D:\mysql\mysql-8.0.15-winx64)
PATH里添加: %MYSQL_HOME%\bin;
第三步:
打开黑窗口:win+R
cd 到 安装包(D:\mysql\mysql-8.0.15-winx64)bin目录下
运行以下命令 mysqld --initialize-insecure --user=mysql 在D:\mysql\mysql-8.0.15-winx64 目录下生成 data 目录
执行命令:net start mysql 启动mysql服务,若提示:服务名无效...(后面有解决方法)
解决方法:执行命令:mysqld -install 即可(不需要my.ini配置文件 注意:网上写的很多需要my.ini配置文件,其实不需要my.ini配置文件也可以,我之前放置了my.ini文件,反而提示服务无法启动,把my.ini删除后启动成功了)
第四步:
登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)
D:\mysql\mysql-8.0.15-winx64\bin>mysql -u root -p
Enter password: ******
第五步:
执行命令 :user mysql;
查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;(注意 在mysql 执行语言需要加分号“;”)
第六步:修改密码
使用navicat链接mysql的时候 会报2059的错误。 2059这个错误的原因是mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。可以将mysql用户登录的加密规则修改为mysql_native_password 加密规则
执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码(例如:root123)' PASSWORD EXPIRE NEVER
修改加密规则
加密规则修改完成后 可以通过执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码(例如:root123)'
更新一下用户的密码
执行命令:flush privileges 刷新一下权限
重启一下mysql 服务 :
先 net stop mysql
然后 net start mysql
搞定!!!(可以使用Navicat连接 mysql8.0 以上数据库了)
补充:
如果是mysql 5.7以上 8.0 以下版本 修改密码执行命令:
update mysql.user set authentication_string=password("123456") where user="root";
然后:flusth privileges
如果是 低版本:修改密码执行命令:
update user set password=password('123456') where user='root' and host='localhost';
然后 flush pirvileges 权限