phpMyAdmin 配置存储未完全配置

Posted

技术标签:

【中文标题】phpMyAdmin 配置存储未完全配置【英文标题】:phpMyAdmin configuration storage is not completely configured 【发布时间】:2016-02-22 19:05:50 【问题描述】:

我已经在 Windows 上安装了 xampp 5.6.14。我打开phpmyadminhttp://localhost/phpmyadmin/

但是警告

! phpMyAdmin 配置存储没有完全配置好, 一些扩展功能已被停用。找出为什么。 或者转到任何数据库的“操作”选项卡进行设置。

!您以“root”身份连接,没有密码,对应于 默认 mysql 特权帐户。您的 MySQL 服务器正在运行 这个默认值,容易被入侵,你真的应该解决这个问题 通过为用户“root”设置密码来实现安全漏洞。

如何解决?

更新: 我在PMA Database ... not OK in phpMyAdmin upgrade 看到我的问题,但我不明白。当我通过 phpmyadmin 中的 sql 查询在“create_tables.sql”中创建包含内容的数据库时,这是错误的

CREATE TABLE IF NOT EXISTS `pma_users` (
  `username` varchar(64) NOT NULL,
  `usergroup` varchar(64) NOT NULL,
  PRIMARY KEY (`username`,`usergroup`)
) 
  COMMENT='Users and their assignments to user groups'
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

CREATE TABLE IF NOT EXISTS `pma_usergroups` (
  `usergroup` varchar(64) NOT NULL,
  `tab` varchar(64) NOT NULL,
  `allowed` enum('Y','N') NOT NULL DEFAULT 'N',
  PRIMARY KEY (`usergroup`,`tab`,`allowed`)
) 
  COMMENT='User groups with configured menu items'
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

CREATE TABLE IF NOT EXISTS `pma_navigationhiding` (
  `username` varchar(64) NOT NULL,
  `item_name` varchar(64) NOT NULL,
  `item_type` varchar(64) NOT NULL,
  `db_name` varchar(64) NOT NULL,
  `table_name` varchar(64) NOT NULL,
  PRIMARY KEY (`username`,`item_name`,`item_type`,`db_name`,`table_name`)
) 
  COMMENT='Hidden items of navigation tree'
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

错误

SQL 查询:

如果不存在则创建表 pma_users (username varchar(64) NOT 空值,usergroup varchar(64) 非空值,主键 (username,usergroup) ) COMMENT='用户及其分配给 用户组的默认字符集 utf8 COLLATE utf8_bin

MySQL 说:文档

1046 - 未选择数据库

【问题讨论】:

欢迎来到 SO。这是一个被广泛询问的问题,请在提问之前自己进行研究。例如***.com/… 可能已经解决了你的问题。 @sec_aw:我正在使用 WINDOWS 操作系统。这是 linux :(。它们是不同的。 请做一些研究。这个问题已经被问过多次了。我更新了我上面的链接,它会带你到“phpMyAdmin configuration storage is not fully configured”的堆栈溢出搜索结果。 抱歉,您的评论非常难以阅读。请编辑您的问题并适当地格式化您遇到问题的代码。顺便说一句,它说“未选择数据库”,因此您可能没有选择数据库。对不起,但我不能再帮你了。请做更多的研究(互联网上有很多关于这方面的信息)或明确您的问题,以便人们可以了解您的尝试,并可能对您有所帮助。 @sec_aw:很抱歉。 Link 如何实现mysql -u root -p < create_tables.sql。谢谢。 【参考方案1】:

phpMyAdmin配置存储未配置完整, 一些扩展功能已被停用。 找出原因。要么 或者转到任何数据库的“操作”选项卡进行设置。

在谷歌上做了一些搜索后,它对我有用。

首先,进入文件夹xampp > phpmyadmin > config.inc.php

然后,搜索 (ctrl + F) $cfg['Servers'][$i]['controluser']。将其更改为 root 或您添加的任何用户。我只是输入root

对于$cfg['Servers'][$i]['controlpass'],我将其留空,因为我的root 用户没有密码。这将使上面的错误/警告消失。

最后,可能会有类似警告

配置中的密码短语 (blowfish_secret) 太短,

只需用至少 32 个字符长的随机字符串替换 $cfg['blowfish_secret']。供参考,

https://www.mysysadmintips.com/linux/servers/779-the-secret-passphrase-in-configuration-blowfish-secret-is-too-short

【讨论】:

【参考方案2】:

IMAGE , set like this

简单,转到用户帐户并将用户 pma@localhost 更改为所有权限

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案3】:

解决windows中xampp中的配置存储问题:

转到localhost/phpmyadmin 中的导入选项卡和

浏览xampp\phpMyAdmin\sql 文件夹并选择create_tables.sql

然后点击前往按钮

现在 phpmyadmin 数据库已添加到您的数据库列表中

现在我们必须为此数据库创建用户帐户:

用户标签并点击添加用户

名称:pma

密码:pmapass

然后点击前往

为这个用户创建一个文件:pma_privileges.sql

包含以下内容:

GRANT USAGE 
ON mysql.* TO 'pma'@'localhost';
GRANT 
SELECT
( Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv ) 
   ON mysql.user TO 'pma'@'localhost';
GRANT 
SELECT
   ON mysql.db TO 'pma'@'localhost';
GRANT 
SELECT
(Host, Db, User, Table_name, Table_priv, Column_priv) 
   ON mysql.tables_priv TO 'pma'@'localhost';
GRANT 
SELECT
,
   INSERT,
   UPDATE
,
      DELETE
         ON phpmyadmin.* TO 'pma'@'localhost';

并通过导入选项卡导入

现在我们创建具有特权的数据库和用户

我们必须将它们添加到 xampp\phpMyAdmin 文件夹中的 config.inc.php 文件中

所以添加这些:

    $cfg['Servers'][$i]['controluser'] = 'pma';
    $cfg['Servers'][$i]['controlpass'] = 'pmapass';
    
    /* Storage database and tables */
    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma__relation';
    $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
    $cfg['Servers'][$i]['history'] = 'pma__history';
    $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
    $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
    $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
    $cfg['Servers'][$i]['recent'] = 'pma__recent';
    $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
    $cfg['Servers'][$i]['users'] = 'pma__users';
    $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
    $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
    $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
    $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';

现在重启mysql和浏览器,配置存储错误消失,

创建表中注释后的列可见

【讨论】:

pma_privileges.sql 中出现语法错误:Unrecognized statement type. (near "ON" at position 0)【参考方案4】:

这是我为启用高级功能所做的(使用最新版本 3.4.x)

首先登录到 phpmyadmin 并创建一个名为 phpmadmin 的新数据库。创建数据库后,选择页面顶部的导入选项卡。单击浏览/选择文件按钮并导航到您的 phpmyadmin 文件夹并打开脚本目录并选择 create_tables.sql 文件。单击打开关闭窗口。然后按 Go(页面底部)。控制用户的数据库已经建立。

接下来设置控制用户。转到 phpmyadmin 主屏幕并单击权限选项卡。单击添加新用户链接。对于用户名类型 phpmyadmin。将任何内容设置为密码(确保记住它)。选择创建具有相同名称的数据库并授予所有权限的选项,然后单击执行按钮。

您现在已经为 phpmyadmin 设置了控制用户和数据库。您现在需要配置 phpmyadmin。打开配置文件(称为 config.inc.php)。并从以下行的开头删除 //

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
// $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';

确保将$cfg['Servers'][$i]['controluser'] 设置为phpmyadmin,并将密码应用于$cfg['Servers'][$i]['controlpass']。注销 phpmyadmin,然后重新登录(不是作为控制用户)。现在应该启用高级功能。

【讨论】:

【参考方案5】:

访问 C:\xampp\phpMyAdmin\config.inc.php 并打开它并设置您自己的用户名和密码,默认情况下用户名 - 'root' 和密码 - ' ',

然后重新启动您的 xammp 服务器。

当您创建数据库架构时,您必须记住下一个过程的用户名和密码

【讨论】:

【参考方案6】:

首先在 phpMyAdmin 中转到用户 -> 搜索用户 "root" 并托管 "localhost"。 然后选择选项-> 编辑权限 之后转到->更改密码 在那里设置你的root密码。

然后转到 xampp 文件夹 -> phpmyadmin -> config.inc.php 将配置更改为 cookie。 和密码为您的新密码。 $cfg['Servers'][$i]['auth_type'] = 'config'; ----> cookie $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; -----> new password(what you set for user root)

【讨论】:

【参考方案7】:

官方发布的create_tables.sql 脚本包含一行来创建和使用“phpmyadmin”数据库,所以XAMPP 可能会改变一些东西。

请注意,我不使用 XAMPP,并且我希望他们的安装程序会为您设置所有这些,因此可能存在一些错误,应该以更适当的方式修复,但一种可能的解决方案可能是下载 create_tables.sql 的 official phpMyAdmin version 并使用它,或者您可以在 sql 文件的顶部添加以下行:

CREATE DATABASE IF NOT EXISTS `phpmyadmin`
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
USE phpmyadmin;

【讨论】:

以上是关于phpMyAdmin 配置存储未完全配置的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf phpMyAdmin配置存储未完全配置

phpmyadmin 配置路径不起作用

PHPmyadmin 错误

phpmyadmin登录后显示“phpMyAdmin 高级功能尚未完全设置,部分功能未激活。查找原因...。”错误提示

我在哪里可以找到 phpMyAdmin 的 create_tables.sql?

phpmyadmin 配置完全后为啥显示的是 Index of /phpmyadmin