mysql8修改密码_MySQL5.5、MySQL5.7、MySQL8.0共存

  • 官网下载mysql-5.7.25-winx64.zip(https://dev.mysql.com/downloads/mysql/)

  • 解压后,自己手动新建my.ini

    02e418e0e4fb993ea3d21bbc5c995f48.png

    其中内容:

    [mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3307端口port = 3307#设置mysql的安装目录basedir="D:\Program Files\mysql-5.7.25-winx64"#设置mysql数据库的数据的存放目录datadir="D:\Program Files\mysql-5.7.25-winx64\data\"#允许最大连接数max_connections=200#服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8#创建新表时将使用的默认存储引擎default-storage-engine=INNODB#跳过密码验证#skip-grant-tables
  • 初始化

    以管理员身份运行cmd,切换到mysql的bin目录,执行初始化命令:

    mysqld --initialize

    mysqld --initialize –insecure

    mysqld --initialize-insecure --user=mysql

    mysqld --initialize --consle

    初始化完成后,会在解压好的根目录下,自动创建data目录。这个data解压后是没有的

     9e6b8a3fc9cbf6c368346925c15462c3.png

  • 安装为系统服务

    mysqld -install 服务名

    sc create MySQL5.7 binPath= "D:\Program Files\mysql-5.7.25-winx64\bin\mysqld.exe",其中,MySQL5.7为系统服务名称,binPath为mysqld.exe文件的路径。不是mysql.exe

  • 注册表里修改,要不启动不了

    260d8b5546053ec7d10978171edcf706.png

  • 将my.ini文件中的skip-grant-tables配置项前面的注释拿掉,然后重启mysql服务

  • 执行mysql -P3307 -uroot -p   ,这里一定注意要加端口号,因为本机已经有一个mysql5.5了,所以更改了端口

    eef8c16dffe5b03093f3468e3434efc7.png

    直接Enter ,什么也不输入

    3f18f915c512ca557a1ac28bebcd15c7.png

  • 修改密码

    输入 use mysql; 输入 update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';上面语句的意思,将root用户的密码修改为123456,并且永不过期。

    c1d2ff3a44f6cc901771b3f5ee3669ca.png

  • 把my.ini 中的skip-grant-tables选项重新注释掉

  • 重启mysql5.7

  • 在mysql8系统下,net stop mysql 用mysqld --console --skip-grant-tables --shared-memory可以无密码启动服务

    服务启动后,以空密码登入系统

    mysql.exe -u root

    然后执行sql命令将root用户密码设置为空

    UPDATE mysql.user SET authentication_string='123456' WHERE user='root' and host='localhost';

    alter user'root'@'%' IDENTIFIED BY ' 123456';

    alter user 'root'@'localhost' IDENTIFIED BY '123456';

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

Navicat 无法连接MySQL8.0解决方法

问题描述:

"Authentication plugin 'caching_sha2_password' cannot be loaded

问题原因:

MySQL8使用了新的认证插件,也就是上面错误中提到的“caching_sha2_password”,一些低版本的Navicat还不支持这个新的插件,所以才会出现错误。navicat12.0.28已经支持新的验证方式。

解决方法:

把登录验证方式改回来:改成mysql_native_password方式

  • 修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY '' PASSWORD EXPIRE NEVER;

  • 更新用户密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

  • 刷新权限:

flush privileges;

在新版本的mysql中,user表中去掉了password,改为了 authentication_string

另:

单独重置密码命令:alter user 'root'@'localhost' identified by '123456';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值