小编Gut*_*Haz的帖子

php mysqli_connect:客户端未知的身份验证方法[caching_sha2_password]

我使用php mysqli_connect登录MySQL数据库(全部在localhost上)

<?php
//DEFINE ('DB_USER', 'user2');
//DEFINE ('DB_PASSWORD', 'pass2');
DEFINE ('DB_USER', 'user1');
DEFINE ('DB_PASSWORD', 'pass1');
DEFINE ('DB_HOST', '127.0.0.1');
DEFINE ('DB_NAME', 'dbname');

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if(!$dbc){
    die('error connecting to database');    
}
?>
Run Code Online (Sandbox Code Playgroud)

这是mysql.user表: mysql.user表

MySQL Server ini文件:

[mysqld]
# The default authentication plugin to be used when connecting to the server
default_authentication_plugin=caching_sha2_password
#default_authentication_plugin=mysql_native_password
Run Code Online (Sandbox Code Playgroud)

caching_sha2_password在MySQL服务器ini文件,它不可能在所有与用户1或用户2登录;

错误:mysqli_connect():服务器请求的客户端[caching_sha2_password]未知的身份验证方法...

mysql_native_password在MySQL服务器ini文件,有可能与USER1登录,但用户2,同样的错误;


如何caching_sha2_password在mySql Server上登录?

php mysql hash sha

55
推荐指数
9
解决办法
8万
查看次数

Git 在 Windows 上检查以 LF 行结尾的特定文件类型

在 Windows 上,我想查看所有以 LF 行结尾的 linux shell 文件 (.sh)

其他基于文本的文件的行结尾应转换为 CRLF。(通过全局 core.autocrlf=true 处理)

  • 全局.gitconfig

[core] editor = 'C:/Tools/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin autocrlf = true

  • 存储库根文件夹中的 .gitattributes

*.sh text eol=lf

git add --renormalize .在添加 .gitattributes 文件时使用。

不幸的是,.sh 文件在签出后仍然有 CRLF。


附加信息:我的一位团队成员确实在一些提交之前更改了他的全局 core.autocrlf=false ,我猜这导致了混乱的行结尾。

通过上述步骤,我至少可以修复本地存储库的文件以再次以 CRLF 结尾。


尝试的步骤:

  • 本地删除文件并再次签出:无影响 - 全部 CRLF
  • 删除文件、推送删除、用 LF 重新创建文件:签出后仍为 CRLF
  • 使用 Notepad++ 手动更改行结尾...

user@workstation MINGW64 /c/repos/project-source (bug_sh_files_eol_lf) $ git status On branch bug_sh_files_eol_lf Your branch is up to date with 'origin/bug_sh_files_eol_lf'. Changes not staged …

windows git line-endings

6
推荐指数
1
解决办法
2107
查看次数

标签 统计

git ×1

hash ×1

line-endings ×1

mysql ×1

php ×1

sha ×1

windows ×1