我试图从我的本地机器远程连接MySQL服务器,但我收到以下错误:
Warning: PDO::__construct(): The server requested authentication
method unknown to the client [mysql_old_password] in
C:\xampp\htdocs\ticket\terminal\sync.php
SQLSTATE[HY000] [2054] The server requested authentication method
umknown to the client
Run Code Online (Sandbox Code Playgroud)
我的本地MySQL服务器版本是5.5.27,libmysql - mysqlnd 5.0.10远程MySQL服务器版本是5.5.23,mysqlnd版本没有公开.
我想这是一个不兼容的密码哈希问题,但我不知道如何解决它.以下是我的连接代码的一部分
$dsn = 'mysql:host=184.173.209.193;dbname=my_db_name';
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
try {
$online_dbh = new PDO($dsn, 'myusername', 'mypassword', $options);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Congratulations!";
} catch (PDOException $e) {
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 php 连接到 mysql 服务器,但出现以下错误
\n\nConnection failed: The server requested authentication method unknown to the client\nRun Code Online (Sandbox Code Playgroud)\n\nmysql 服务器版本是 8.0.12,php 版本是 7.2.9。\n我的代码连接到 mysql 服务器
\n\n<?php\n$servername = "127.0.0.1";\n$username = "root";\n$password = "mypassword";\n// Create connection\n$conn = new mysqli($servername, $username, $password);\n// Check connection\nif ($conn->connect_error) {\n die("Connection failed: " . $conn->connect_error);\n} \necho "Connected successfully";\n?>\nRun Code Online (Sandbox Code Playgroud)\n\n这个问题之前曾在这里被问过,但该解决方案对我不起作用,所以我再次询问这个问题。\n谢谢
\n\n编辑:我重新安装了 php,现在它为相同的代码提供了以下内容
\n\nThis page isn\xe2\x80\x99t working\n127.0.0.1 is currently unable to handle this request.\nHTTP ERROR 500\nRun Code Online (Sandbox Code Playgroud)\n 执行时出现以下错误:
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
错误:
Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] 服务器请求客户端未知的身份验证方法(SQL:select * from information_schema.tables where table _schema = d1 and table_name = migrations)
这是一个截图;
附注。以防万一:我在php.ini文件中启用了“extension=pdo_mysql” 。
任何想法如何解决这一问题?