更改SQL工作台中的默认身份验证(caching_sha2_password)不起作用

时间:2019-02-06 16:16:20

标签: php mysqli codeigniter-3

Windows 10

Codeigniter 3

php 7

mysql服务器8

mysql工作台

编辑 关于标题,我已经尝试过了: ERROR 1698 (28000): Access denied for user 'root'@'localhost'

这: MySQL 8.0.11 error connecting due to caching_sha2_password

标记为答案/重复的链接未描述此问题的实际解决方案。

为什么它不是该答案的重复

该答案和其他答案缺少的是找到正确的.cnf文件的位置。我已经通过工作台创建了一个,将其放在Windows下的programFiles /文件夹中。使用该链接https://dev.mysql.com/doc/refman/8.0/en/option-files.html,我能够确定文件的其他位置。

解决方案

起作用的实际部分是这样写的:

[mysqld]
default_authentication_plugin = mysql_native_password

这里:

C:\ProgramData\MySQL\MySQL Server 8.0

不在这里:

C:\Program Files\MySQL\MySQL Server 8.0

请注意细微的差别。同样,这是在Windows 10上。

我已经查看并查看了有关此问题的其他答案,但是这些答案在解决方案中并不完整。

END EDIT

我尝试过:

  1. 编辑工作台中的选项文件,该工作台在sql服务器文件中创建了文件my.ini。其中包含:

[mysqld] default_authentication_plugin = mysql_native_password

  1. 创建新用户,我,root,其他名称等。

use mysql;

select * from user \G;

结果

plugin: mysql_native_password

但在我的配置/数据库文件中:

$db['default'] = array(
   'dsn'    => '',
   'hostname' => 'localhost',
   'username' => 'root',
   'password' => '**********',
   'database' => 'Ian',
   'dbdriver' => 'mysqli',
   'dbprefix' => '',
   'pconnect' => FALSE,
   'db_debug' => (ENVIRONMENT !== 'production'),
   'cache_on' => FALSE,
   'cachedir' => '',
   'char_set' => 'utf8',
   'dbcollat' => 'utf8_general_ci',
   'swap_pre' => '',
   'encrypt' => FALSE,
   'compress' => FALSE,
   'stricton' => FALSE,
   'failover' => array(),
   'save_queries' => TRUE
);
  1. 我已经多次重置了sql server和apache server。

  2. 我拥有新用户的刷新权限以及授予所有访问权限。

由于尝试通过caching_sha2_password连接而出现错误。 请提供任何帮助。

实际错误:

消息:mysqli :: real_connect():服务器请求客户端[caching_sha2_password]未知的身份验证方法

0 个答案:

没有答案