【问题标题】:How do I enable phpMyAdmin's Designer view?如何启用 phpMyAdmin Designer 视图?
【发布时间】:2013-10-10 14:15:12
【问题描述】:

我在本地运行 phpMyAdmin,我正在尝试启用 Designer 工具。

如何为 phpMyAdmin 启用设计器视图?

我已经阅读了很多关于如何为 phpMyAdmin 启用设计器视图的教程,它们都有不同的方向,但似乎从未真正让它工作。

我使用的是 4.0.7 版

【问题讨论】:

    标签: php phpmyadmin designer


    【解决方案1】:

    假设 phpMyAdmin 位于文件夹 phpMyAdmin 内,以下步骤将在 phpMyAdmin 4+ 中启用设计器:

    • 打开phpMyAdmin/config.inc.phpphpMyAdmin/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 安装了我们需要生成 Designer 所依赖的数据库的 SQL。我们只需要找到脚本。在 4.0.7 中,文件位置是 phpMyAdmin/examples/create_tables.sql。或者,您可以从phpMyAdmin's github 复制/下载。
    • 找到文件后,导入文件或将其复制/粘贴到 SQL 窗口并在 phpMyAdmin 中执行。
    • 现在,一切都应该正确配置。我们需要清除 cookie 并重新启动浏览器。
    • 当您打开 phpMyAdmin 备份时,导航到特定表,在选项卡中您应该会看到 Designer 选项卡。

    免责声明:这些说明专门基于 phpMyAdmin 4+ 中的新文件夹结构。您可以使用 phpMyAdmin 的 github config.sample.php 和随附的 create-table.sql 应用相同的说明。通过选择正确的分支来选择您的 phpMyAdmin 版本。

    【讨论】:

    • 清除 cookie 似乎很重要。只有在我清除 cookie 后才为我工作。谢谢!
    • 如果您不使用cookies,则需要注销并重新登录
    【解决方案2】:

    如果您只是按照其他答案进行操作,可能会造成混淆。是的,您需要按照说明更改配置,但此配置是指具有特殊权限的 MySQL 用户。此处对此进行了解释:https://wiki.phpmyadmin.net/pma/controluser 在有关 pmadb 功能的部分下。因此,有两个步骤:(从链接页面复制粘贴)

    1. 在mysql中:

      在 phpmyadmin.* 上授予选择、插入、更新、删除到 'pma'@'localhost';

    2. 在 ./config.inc.php 中:

      $cfg['Servers'][$i]['controluser'] = 'pma'; //在这里使用上面创建的任何用户名 $cfg['Servers'][$i]['controlpass'] = 'pmapass'; //在这里使用密码来匹配那个用户

    【讨论】:

      【解决方案3】:

      对于 MySQL 4.6.0 上的我来说,Designer 视图是可访问的,但不会保存布局状态。

      然后我做了以下工作:

      1. 创建了一个 ./phpmyadmin/config/ 目录
      2. chmod 777 配置
      3. 转到http://localhost/phpmyadmin/setup/ 并遵循基本说明,使用默认值
      4. 然后在 phpmyadmin Web 应用程序的页脚气泡中有一个红色超链接,说明需要创建一个表格(我不记得确切的文本或我所在的导航部分......我的猜测是在操作选项卡中的数据库上)。这创建了一个名为 phpmyadmin 的新表,我认为这是设计人员保存布局的地方。

      执行此操作后,我能够保存设计器布局的状态 - 即 phpMyAdmin Designer 现在已启用。

      【讨论】:

        【解决方案4】:

        对于 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 上重要的目录是:

        • /etc/phpmyadmin/ - 您的可编辑设置文件
        • /usr/share/phpmyadmin/libraries - 包括一个默认设置文件

        【讨论】:

        • 唷,看起来像一把。希望这会帮助其他人使用 debian +1
        猜你喜欢
        • 2016-08-18
        • 2012-01-15
        • 2015-05-02
        • 2014-01-10
        • 2014-10-11
        • 2011-01-17
        • 2018-04-24
        • 1970-01-01
        • 2018-03-07
        相关资源
        最近更新 更多