无法在Windows上使用phpMyAdmin在本地配置MySQL

时间:2019-04-09 17:30:42

标签: php mysql phpmyadmin

我正在尝试在Windows 7上使用PHP,Apache,MySQL和phpMyAdmin的二进制版本配置自己的本地服务器。我已成功配置并使用PHP运行Apache。

现在,我要配置MySQL和phpMyAdmin。首先,我使用代码创建了my.cnf文件

[mysqld]
bind-address = 127.0.0.1
default_authentication_plugin = mysql_native_password

然后我运行CMD命令

D:/Server/mysql/bin/mysqld.exe --initialize --console

并获得其中包含文件的D:Server/mysql/data文件夹

我的HTML文件将位于D:/Server/localhost文件夹中。所以我在那儿插入了解压后的phpMyAdmin文件夹,并在其config.in.php

中添加了以下几行
...
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['ServerDefault'] = 1;

然后我使用命令启动MySQL

D:/Server/mysql/bin/mysqld.exe --console

在命令提示符下我得到

.../mysqld.exe ready for connections
... X Plugin ready for connections

但是现在,如果我尝试使用root用户名和空密码登录phpMyAdmin,则会收到错误消息

  

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

     

mysqli_real_connect():   (HY000 / 2054):服务器请求的身份验证方法未知   客户

在那儿,我读了https://stackoverflow.com/a/52364450/3208225,但是my.cnf中已经有行default_authentication_plugin= mysql_native_password

我还读到我们可以以root用户身份登录并设置密码,但我真的不知道该怎么办

2 个答案:

答案 0 :(得分:1)

好的,问题是我使用命令初始化了data目录

>mysqld.exe --initialize --console

会生成一个临时密码,但是我希望没有任何密码即可登录。因此,如果要使用空密码,则必须使用命令初始化数据目录

>mysqld.exe --initialize-insecure --console

我们稍后可以设置密码

参考: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html

答案 1 :(得分:0)

尝试将您的['auth_type']设置为:$cfg['Servers'][$i]['auth_type'] = 'config';

当我安装phpmyadmin时,我犯了同样的错误。 希望对我有用。

亲切的问候。