PHP没有通过本地套接字连接到MYSQL

时间:2018-06-08 18:34:24

标签: php mysql sql mysqli localhost

我刚刚在我的macbook pro上安装了mysql,mysql似乎正在工作,但是我无法通过mysqli从php连接到mysql。我一直在收到错误。我已经阅读了很多不同的文章和网页,所有这些文章和网页看起来都很复杂而且没有解决我的问

我已将/ tmp / mysock添加到php.ini文件中:

pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

我已经单独安装了apache,php,mysql而没有使用MAMP,XAMP,phpmyadmin或MYSQLworkbench等软件

这是我尝试连接数据库的PHP代码,代码后面是浏览器显示的错误。

<?php
$title = $_POST['blog_title'];
$body = $_POST['blog_entry'];
$link = mysqli_connect('localhost','root','password','blog');
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}


mysqli_select_db($link,"blog") or die("Unable to select database");
$query = "INSERT INTO entires(title,body) VALUES ($title,$body);";
mysqli_query($query);
mysqli_close($link);
header('Location: ViewBlog.php');
exit();
?>

这是我得到的错误:

错误:无法连接到MySQL。调试错误:2054调试错误:服务器请求的客户端未知的身份验证方法

我一直在努力解决这个问题,任何帮助都会非常感激,谢谢。 我试图访问的数据库,我已经在mysql中创建了(&#34;博客&#34;);

1 个答案:

答案 0 :(得分:0)

尝试检查MySQL中的用户身份验证类型。

我在Win 10,PHP 7.3和MySQL 8.0.13上设置wp时遇到了相同的错误。

这是我收到的完整错误消息:

  

警告:mysqli_connect():服务器请求的身份验证方法   客户端[caching_sha2_password]中未知   第2行的C:\ inetpub \ wwwroot \ dbtest.php

     

警告:mysqli_connect():(HY000 / 2054):服务器请求   客户端未知的身份验证方法   第2行上的C:\ inetpub \ wwwroot \ dbtest.php错误:无法连接至   MySQL的。调试错误:2054调试错误:服务器请求   客户端未知的身份验证方法

要解决此问题,我必须将MySQL用户设置为使用标准身份验证类型。

这是我为解决此问题而运行的SQL脚本:

import glob
import os
import pandas as pd

path = "./data/"
all_files = glob.glob(os.path.join(path, "*.csv")) #make list of paths

for file in all_files:
    # Getting the file name without extension
    file_name = os.path.splitext(os.path.basename(file))[0]
    df = pd.read_csv(file_name)
    df['new_column'] =  df['A']+ df['B']
    df.sort_values(by='C')
    df.drop(df.loc[df['C']>50].index, inplace=True)
    df.to_csv(file_name)