【发布时间】:2013-10-10 14:15:12
【问题描述】:
我在本地运行 phpMyAdmin,我正在尝试启用 Designer 工具。
如何为 phpMyAdmin 启用设计器视图?
我已经阅读了很多关于如何为 phpMyAdmin 启用设计器视图的教程,它们都有不同的方向,但似乎从未真正让它工作。
我使用的是 4.0.7 版
【问题讨论】:
标签: php phpmyadmin designer
我在本地运行 phpMyAdmin,我正在尝试启用 Designer 工具。
如何为 phpMyAdmin 启用设计器视图?
我已经阅读了很多关于如何为 phpMyAdmin 启用设计器视图的教程,它们都有不同的方向,但似乎从未真正让它工作。
我使用的是 4.0.7 版
【问题讨论】:
标签: php phpmyadmin designer
假设 phpMyAdmin 位于文件夹 phpMyAdmin 内,以下步骤将在 phpMyAdmin 4+ 中启用设计器:
phpMyAdmin/config.inc.php 和phpMyAdmin/config.sample.inc.php。 config.sample.inc.php 中找到phpMyAdmin 配置存储设置(4.0.7 中的第38-66 行)。config.inc.php。完成后,您的 config.inc.php 应该包含如下内容:4.0.7 示例:
/* change this info to whatever user has read-only access to the "mysql/user" and "mysql/db" tables */
$cfg['Servers'][$i]['controluser'] = 'root'; //this is the default user for MAMP's mysql
$cfg['Servers'][$i]['controlpass'] = 'root'; //this is the default password for MAMP's mysql
/* this information needs to line up with the database we're about to create so don't edit it unless you plan on editing the SQL we're about to run */
$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]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
注意:我们只是告诉 phpMyAdmin 存储特定配置详细信息的数据库和表名。现在让我们添加数据库。
phpMyAdmin/examples/create_tables.sql。或者,您可以从phpMyAdmin's github 复制/下载。免责声明:这些说明专门基于 phpMyAdmin 4+ 中的新文件夹结构。您可以使用 phpMyAdmin 的 github config.sample.php 和随附的 create-table.sql 应用相同的说明。通过选择正确的分支来选择您的 phpMyAdmin 版本。
【讨论】:
如果您只是按照其他答案进行操作,可能会造成混淆。是的,您需要按照说明更改配置,但此配置是指具有特殊权限的 MySQL 用户。此处对此进行了解释:https://wiki.phpmyadmin.net/pma/controluser 在有关 pmadb 功能的部分下。因此,有两个步骤:(从链接页面复制粘贴)
在mysql中:
在 phpmyadmin.* 上授予选择、插入、更新、删除到 'pma'@'localhost';
在 ./config.inc.php 中:
$cfg['Servers'][$i]['controluser'] = 'pma'; //在这里使用上面创建的任何用户名 $cfg['Servers'][$i]['controlpass'] = 'pmapass'; //在这里使用密码来匹配那个用户
【讨论】:
对于 MySQL 4.6.0 上的我来说,Designer 视图是可访问的,但不会保存布局状态。
然后我做了以下工作:
执行此操作后,我能够保存设计器布局的状态 - 即 phpMyAdmin Designer 现在已启用。
【讨论】:
对于 Debian Jessie,8.6 w/phpMyAdmin 4:4.2.12-2+deb8u2 我是这样解决这个问题的:
我知道这涉及很多。显然安装程序有问题,但我不知道从哪里开始修复它。所以这是目前的解决方法。似乎有很多人遇到了这个问题,而且似乎有多种解决方案适用于不同的版本。
0) 正如 Debian 安装说明中所建议的那样 here 我先这样做了。它没有解决问题,但它可能有所帮助。它会重新询问您问题,并且 -p low 参数确保询问所有问题:
dpkg-reconfigure -plow phpmyadmin
它说“它创建了一个 phpmyadmin 数据库”(它是表),但它没有,所以我们将在下面手动创建它们。
1) 在浏览器中输入 phpMyAdmin(您需要在您的网络服务器中启用 PHP 支持)。您需要 MariaDB 或 MySQL 服务器的用户名和密码。通常用户名是root。对我来说服务器是本地的,所以我的服务器选择是 localhost:
http://localhost/phpmyadmin/
2) 解压缩 /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz 并提取 SQL。 我必须使用编辑器来删除以“--”开头的注释行”。
(( 注意我认为这个存档可能暂时损坏,因为当我尝试手动解压缩它时会出错。但是你可以使用这个技巧来打开它:
dd if=create_tables.sql.gz | gunzip -f
GUI 'Open With Archive Manager' 也让我可以打开它。
3) 选择 SQL 选项卡,将 #2 中的 sql 粘贴到 SQL 框中, 并单击“开始”以创建数据库和表。 (假设在 /etc/phpmyadmin/sql/create_tables.sql 中缺少的 SQL。)
4) 创建名为'pma' 的sql 用户。 打开phpMyAdmin,选择Home |用户 |添加用户,并添加一个名为'pma'的新用户,如下所示:
User name: Use text field: pma
Host: Local: localhost
Password: Use text field: <enter a new password for user pma>
Global privileges (leave all boxes unchecked)
5) 授予 pma 用户对新 phpmyadmin 数据库的完全访问权限。 再次选择 Home |用户 |编辑 pma 用户的权限。现在小心...选择屏幕顶部的“数据库”。在“在以下数据库上添加权限:”旁边选择 phpmyadmin。然后点击“Check All”框,然后点击“Go”。
注意:pma 的全局权限仍应全部取消选中!
6) 编辑 /etc/phpmyadmin/config-db.php 并更改以下行:
$dbuser='pma';
$dbpass='<your pma user's password>';
7a) 在 /etc/phpmyadmin/config.inc.php 中取消注释以下行:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['host'] = $dbserver;
if (!empty($dbport) || $dbserver != 'localhost') {
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['port'] = $dbport;
}
//$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysqli';
/* Optional: User for advanced features */
$cfg['Servers'][$i]['controluser'] = $dbuser;
$cfg['Servers'][$i]['controlpass'] = $dbpass;
/* Optional: Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = $dbname;
$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]['designer_coords'] = 'pma__designer_coords';
$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';
7b) 同时取消注释 /etc/phpmyadmin/config.inc.php 中的以下行,并将 controluser 更改为“pma”,并将您的密码添加到下面的第 3 行:
/* Optional: User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '<insert your password here>';
/* 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]['designer_coords'] = 'pma__designer_coords';
$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';
8) 然后注销/登录。
注意,在 Debian 上重要的目录是:
【讨论】: