gpt4 book ai didi

php - MySQL - "Database name"设置在哪里?

转载 作者:行者123 更新时间:2023-11-29 18:14:45 24 4
gpt4 key购买 nike

好久没有使用MySQL了。

我有一些使用 WordPress 的网站,使用连接变量,例如:

define ('DB_HOST',  'localhost');
define ('DB_NAME', 'patbrt_cv');
define ('DB_USER', 'patbrt_cv_user');
define ('DB_PASS', 'password');

今天我需要将我的一个表(从 PhpMyAdmin 导出)导入到我的本地服务器(使用 EasyPHP)进行测试,为此我必须使用 phpmyadmin 配置文件(“config.inc.php”)

$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';

但是“数据库名称”(DB_NAME 设置)在哪里定义?如何在本地数据库服务器(EasyPHP)上设置它?我在“config.inc.php”文件(由 phpmyadmin 使用)中找不到此设置。

我需要此设置来使用 BigDump(已成功安装)将我的一个表从我的网站之一导入 EasyPHP,以避免我在尝试数据库导入后立即遇到的此错误

CREATE DATABASE IF NOT EXISTS `patbrt_cv` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
MySQL: Access denied for user ''@'localhost' to database 'patbrt_cv'

最佳答案

如果您的 php 客户端已登录 MySQL,则查询 USE mydatabase; 可让您访问要使用的数据库。

您还可以在 MySQL 连接字符串中选择数据库。

当您登录 MySQL 时,您将使用一组凭据(原始主机/用户名/密码)。该凭据集必须获得GRANT权限才能访问您要使用的数据库。在您的示例中,您的用户名和密码有零长度字符串 - 如下所示:

 $cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';

您的错误消息是这样的:

MySQL: Access denied for user ''@'localhost' to database 'patbrt_cv'

这意味着您的 php 程序使用 localhost/(empty)/(empty) 的 origin/用户名/密码凭据组合成功登录到 MySQL 服务器,但该特定凭据组合没有权限使用数据库 patbrt_cv,或者可能没有权限获取服务器上已存在的数据库列表。

您可能想尝试使用root用户名以及本地MySQL服务器上设置的任何root密码。这将使您的 php 程序能够访问服务器来执行诸如发出命令 SHOW DATABASES; 来检索服务器上已存在的数据库列表之类的操作。

EasyPHP 是一个 Windows bundle 。这意味着您可以使用优秀的 Windows MySQL 客户端之一。下载并安装 HeidiSQL ( https://www.heidisql.com/download.php ) 等客户端,并使用它来查看本地 MySQL 系统的内容。它还有一个用于创建用户凭据并向他们授予权限的系统(工具/用户管理器)

您可能会问,为什么凭证业务如此复杂?因为MySQL被设计成一个共享的 Multi-Tenancy 系统,不同的用户使用不同的数据库,而不必知道彼此的存在,当然也无法看到彼此的数据。当您在自己的计算机上运行 MySQL 时,您不会使用这些 Multi-Tenancy 功能,但它们仍然存在。

关于php - MySQL - "Database name"设置在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47121082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com