MySql 8.0安装与使用所遇问题记录

初入MySql,以下记录遇到的错误。

在官网上下载了MySql 8.0版本,地址https://dev.mysql.com/downloads/mysql/

在根据教程的提示下成功安装完成,开启服务,于是使用heidisql进行连接,发现报错:Access denied for user 'root'@'localhost' (using password: YES)。于是前往百度进行查找。

在网上很多答案都是找到my.ini文件夹,可能有些人在mysql安装路径下找不到,其实是在:C:\ProgramData\MySQL\MySQL Server 8.0下。

话不多说,各大网友统一操作是

1、关掉服务

2、在my.ini中的[mysqld]加上:skip-grant-tables。 使其跳过权限检查.

3、再打开服务

在以上操作过程中,遇上以下几点问题:

1、在关掉服务命令:net stop mysql时,出现系统错误5,这个是需要将cmd命令设置成管理员权限,但是我在C:\Windows\System32与C:\Windows\System64文件夹下没有找到cmd的设置管理员权限的按钮,于是在任务栏中的搜索里输入cmd,找到了一个快捷键,实际使用的还是C:\Windows\System32中的cmd,但是这里可以设置管理员权限,设置完成,问题解决。

2、后面发现skip-grant-tables,这句话适用于MySql 5的版本,不适用于MySql 8的版本。

于是只能另找出路。

后面找的内容也比较多,不好贴出路径,比较零散。就在此总结一下吧。

1、用管理员权限打开cmd。

2、关闭服务:net stop mysql

3、在my.ini中的[mysqld]中加入 “shared-memory”。

4、cmd中输入:mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --skip-grant-tables

(跳过密码),我等待的时间有点长,差点以为失败了,注意看信息,若没有操作第三步,这里会出现[Error][Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS的提示

5、重新打开服务: net start mysql

6、登录MySql: mysql -uroot -p

 

部分内容参考文章:https://blog.csdn.net/cartoon_/article/details/80344637

再重新登录就可以了。

 

在使用C++连接MySQL时,出现了“Authentication plugin 'caching_sha2_password' cannot be loaded”错误。

翻了翻资料,这个是由于MySQL8.0更换了身份验证(caching_sha2_password)之前身份验证是(mysql_native_password)

所以需要修改加密规则。

1、登录MySQL:mysql -u root -p.

2、修改加密规则:ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

3、更新用户密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

4、刷新权限:FLUSH PRIVILEGES;

5、重置密码:alter user 'root'@'localhost' identified by 'passwork';

在进行登录OK。

参考网址:https://blog.csdn.net/weixin_40845165/article/details/84076691

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值