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_binMySQL 说:文档
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 高级功能尚未完全设置,部分功能未激活。查找原因...。”错误提示