admin 管理员组

文章数量: 887021

下载安装包

在官网找到系统对应的安装包。

下载zip包。

解压到想要安装的目录。我选择的目录是d盘。解压后路径:D:\mysql-8.0.20-winx64。

配置环境变量

打开控制面板-系统-高级系统设置-环境变量,在系统变量中新增MYSQL_HOME变量如下:

编辑path变量,添加%MYSQL_HOME%\bin

生成data文件

以管理员身份运行cmd,打开终端,进入D:\mysql-8.0.20-winx64\bin

执行命令:mysqld.exe --initialize-insecure --user=mysql

这会在安装目录下生成data目录。

启动服务

执行命令:net start mysql,启动服务。

如果提示服务名无效,执行命令:mysqld.exe -install即可。重新启动服务。

登录mysql

因为之前没设置密码,所以密码为空,不用输入密码:mysql -uroot

密码修改

查询密码:select host,user,authentication_string from mysql.user;

修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; flush privileges;

退出重新登录验证密码生效。

设置远程访问

默认不允许远程访问,只能本机登录。

登录后,执行以下指令:

use mysql;

update user set host = '%' where user = 'root';

FLUSH PRIVILEGES;

并关闭windows防火墙。

此时,可通过另外的机器通过ip地址访问该mysql。

远程访问时,如果提示:Authentication plugin 'caching_sha2_password' cannot be loaded,是因为mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。所以需要作下修改:

#登录,假设密码为123456
mysql -uroot -p123456 
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #更新用户密码
FLUSH PRIVILEGES; #刷新权限

再次访问即可。

密码重置

如果忘记了root密码,可以对root密码进行重置。

  1. 打开cmd窗口,停止mysql服务:net stop mysql
  2. 以跳过密码验证方式启动mysql: mysqld.exe --console --skip-grant-tables --shared-memory
  3. 打开新的cmd窗口,无密码登录:mysql -uroot
  4. 重置密码:use mysql; update user set authentication_string='' where user='root';
  5. 退出并停止以无密码方式启动的mysql
  6. 打开cmd正常启动mysql: net start mysql
  7. 登录,此时已经不需要密码
  8. 修改密码,参考上节指令
  9. 退出,重新登录,验证新密码生效

本文标签: 密码 方法 MySQL root