【问题标题】:phpmyadmin.pma_table_uiprefs doesn't existphpmyadmin.pma_table_uirefs 不存在
【发布时间】:2014-01-10 23:03:12
【问题描述】:

我搜索了互联网,但找不到与此特定错误/表相关的任何内容。当我尝试在 phpMyAdmin 中查看表格时,它会弹出。我以 root 身份登录,phpMyAdmin 的安装(在 ubuntu 13.10 下)到目前为止是全新的且未受影响。

这是整个消息:

SELECT `prefs`
FROM `phpmyadmin`.`pma_table_uiprefs`
WHERE `username` = 'root'
AND `db_name` = 'symfony'
AND `table_name` = 'users'

MySQL reports: #1146 - Table 'phpmyadmin.pma_table_uiprefs' doesn't exist

是安装刚刚损坏还是我遗漏了什么?

【问题讨论】:

    标签: mysql phpmyadmin


    【解决方案1】:

    您至少缺少一个 phpMyAdmin 配置存储表,或者配置的表名与实际表名不匹配。

    http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage

    快速总结一下可以做什么:

    1. 在外壳上:locate create_tables.sql
    2. 使用 phpMyAdmin 导入 /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz
    3. 打开/etc/phpmyadmin/config.inc.php并编辑第81-92行:将pma_bookmark更改为pma__bookmark等等。

    【讨论】:

    • 好的,谢谢,我现在可以使用了。但是我想知道为什么这没有集成在phpmyadmin的标准安装过程中。
    • 有一个关于此的功能请求。请注意,这将是一个挑战,因为一些托管服务提供商只允许每个用户使用一个数据库,因此数据库名称不能总是“phpmyadmin”。顺便问一下,是 Ubuntu 创建了你不完整的 config.inc.php 吗?
    • 也许你应该把这个报告给 Ubuntu。
    • 请注意,create_tables.sq.gz 文件可以在 Ubuntu 上的 /usr/share/doc/phpmyadmin/examples/ 中找到。
    【解决方案2】:

    我在 Ubuntu 13.10 上遇到了同样的问题。我不想破解 PHP 文件,因为通常 phpMyAdmin 在从 Ubuntu 存储库安装软件包后可以开箱即用。 相反,我跑了:

    sudo dpkg-reconfigure phpmyadmin
    

    在重新配置期间,我对重新安装 phpMyAdmin 数据库说“是”。之后,问题就消失了。我有一个模糊的记忆,在安装或升级期间,在较早的时间对该问题回答“否”。这可能就是问题发生在首位的原因。

    【讨论】:

    • 这是更简单的解决方案!
    • 解决方案的最佳描述!对我的 debian 罚款有帮助
    • 简单多了!!毫不费力地工作。
    • Mikkel 如果该解决方案已经包含一些数据库和数据,是否会导致任何数据丢失?
    • @itsols,我不这么认为,但我不会声称对到底发生了什么有 100% 的了解。据我了解,phpMyAdmin 数据库只是 phpMyAdmin 用来运行自身的自动生成的数据库。我不确定是否有任何 phpMyAdmin 设置或此类设置会丢失。我在用于检查多个现有 MySQL 数据库的 phpMyAdmin 安装上执行此操作。我没有观察到任何不良影响。
    【解决方案3】:

    您只需更改 /etc/phpmyadmin/config.inc.php 中的以下行

    $ Cfg ['Servers'] [$ i] ['table_uiprefs'] = ‘pma_table_uiprefs’;
    

    $ cfg ['Servers'] [$ i] ['pma__table_uiprefs'] = ‘pma__table_uiprefs’;
    

    然后用命令重启apache服务器,

    sudo service apache2 restart
    

    【讨论】:

    • 这不是唯一需要的更改。但是从去年 12 月开始就已经有了正确的答案,那你的意思是什么?
    • 其实这两个答案都有用。就我而言,我按照 Marc Delisle 所说的做了,但仍然收到错误消息。所以我做了冰山建议的改变,现在一切正常。谢谢。
    • 简单明了。谢谢你。
    • 谢谢,在我的情况下,'pma__table_uirefs' 中的双下划线已经存在,只需将索引更改为 pma__table_uiprefs
    【解决方案4】:

    试试sudo dpkg-reconfigure phpmyadmin

    用新版本替换配置文件 /etc/phpmyadmin/config-db.php

    【讨论】:

    • 这样做时,您可以选择重新创建 phpmyadmin 数据库。
    【解决方案5】:

    我不得不更改这些行:

    $cfg['Servers'][$i]['pma__bookmarktable'] = 'pma__bookmark';
    $cfg['Servers'][$i]['pma__relation'] = 'pma__relation';
    $cfg['Servers'][$i]['pma__table_info'] = 'pma__table_info';
    $cfg['Servers'][$i]['pma__table_coords'] = 'pma__table_coords';
    $cfg['Servers'][$i]['pma__pdf_pages'] = 'pma__pdf_pages';
    $cfg['Servers'][$i]['pma__column_info'] = 'pma__column_info';
    $cfg['Servers'][$i]['pma__history'] = 'pma__history';
    $cfg['Servers'][$i]['pma__table_uiprefs'] = 'pma__table_uiprefs';
    $cfg['Servers'][$i]['pma__designer_coords'] = 'pma__designer_coords';
    $cfg['Servers'][$i]['pma__tracking'] = 'pma__tracking';
    $cfg['Servers'][$i]['pma__userconfig'] = 'pma__userconfig';
    $cfg['Servers'][$i]['pma__recent'] = 'pma__recent';
    $cfg['Servers'][$i]['pma__table_uiprefs'] = 'pma__table_uiprefs';
    

    添加: "pma__" 到 ['bookmarktable'] 和 "_" 到 'pma_bookmark'

    【讨论】:

    • 奇怪的是 config.sample.inc.php 文件在变量名中没有 pma__ 时出现错误。感谢您提出这个建议。终于解决了挫折。
    • 这对我有用,加上应用最佳答案步骤
    【解决方案6】:

    你应该重新配置 phpmyadmin 在终端上:

    • sudo dpkg-reconfigure phpmyadmin

    【讨论】:

      【解决方案7】:

      我找到了解决此问题的方法。

      编辑您的 /etc/phpmyadmin/config.inc.php 文件。

      查找:

      if (!empty($dbport) || $dbserver != 'localhost') {
              $cfg['Servers'][$i]['connect_type'] = 'tcp';
              $cfg['Servers'][$i]['port'] = $dbport;
          }
      

      在后面添加:

      $cfg['Servers'][$i]['pmadb'] = null; // Apurba
      

      重新启动您的 apache 服务并尝试。 希望能帮助到你。 谢谢。

      【讨论】:

      • 为我工作!我说(在 Debian 8.3 上)/* 可选:高级 phpMyAdmin 功能 */ $cfg['Servers'][$i]['pmadb'] = $dbname;
      • 对我也有用! (Ubuntu 14.04.3 LTS)
      【解决方案8】:

      我使用 Windows 7 Xampp 的 版本的 phpmyadmin,以上都没有,或者如果这篇文章获得了投票,则答案有效。我尝试卸载 Xampp 并升级到更高版本,手动更改配置文件夹中的值,从某个 github 页面导入 .sql 文件,甚至查看 youtube 视频,但没有任何建议有效。

      解决方案:

      删除 C:\xampp\phpMyAdmin 文件夹中的所有内容 > 转到 https://www.phpmyadmin.net/ 并下载最新版本 > 将所有内容解压缩到 C:\xampp\phpMyAdmin 文件夹中,您的问题就解决了。

      ^^^^^ 如果您不想浪费时间在 Google 上搜索大量失败的解决方案,请阅读此内容。它也简单得多! ^^^^^^

      【讨论】:

      • 请考虑将答案的全部内容替换为:“重新安装 phpmyadmin”。你所经历的所有麻烦的个人故事对其他人没有帮助。
      【解决方案9】:

      进入 phpmyadmin 数据库创建该表,该表的名称有错误,它可能是 pma_table_uiprefs 而不是 pma__table_uiprefs

      如果不存在则创建表pma_table_uiprefs (username varchar(64) 非空,db_name varchar(64) 非空,table_name varchar(64) 非空,prefs 文本非空,last_update 时间戳 NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,主键 (username,db_name,table_name) COMMENT='Tables'' UI 首选项' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

      【讨论】:

        【解决方案10】:

        我在 Ubuntu Server 14.04 上使用 MariaDB 的最新 Lampp 遇到了同样的问题,@iceberg 的解决方案效果很好:

        您只需更改 /etc/phpmyadmin/config.inc.php 中的以下行

        $ Cfg ['Servers'] [$ i] ['table_uiprefs'] = ‘pma_table_uiprefs’;
        

        $ cfg ['Servers'] [$ i] ['pma__table_uiprefs'] = ‘pma__table_uiprefs’;
        

        然后用命令重启apache服务器,

        sudo service apache2 restart
        

        Lampp config.inc.php 位于 /opt/lampp/phpmyadmin/config.inc.php 中,为了使其正常工作,我还需要更改

        $ cfg ['Servers'] [$ i] ['tracking'] = ‘pma__tracking’;
        

        $ cfg ['Servers'] [$ i] ['pma__tracking'] = ‘pma__tracking’;
        

        然后重启灯:

        sudo /opt/lampp/lampp stop
        sudo /opt/lampp/lampp start
        

        【讨论】:

          【解决方案11】:

          步骤:

          • 只需从GitHub 下载 create_table.sql 并保存 系统中的文件。
          • 然后转到您的 phpMyAdmin。
          • 然后单击从上方选项卡导入。
          • 最后选择 create_table.sql 并上传。

          毕竟它对我有用,希望对你有用。

          【讨论】:

            【解决方案12】:

            在 Debian 或 Ubutu 等 linux 操作系统中,您可以简单地尝试这种方式,第一次使用 --purge 参数删除 phpmyadmin:

            sudo apt-get remove --purge phpmyadmin
            

            然后重新安装

            sudo apt-get install phpmyadmin      
            

            这很好:)

            【讨论】:

              【解决方案13】:

              您只需要根据错误更改表名 - /etc/phpmyadmin/config.inc.php

              $ Cfg ['Servers'] [$ i] ['table_uiprefs'] = ‘pma_table_uiprefs’;
              

              $ Cfg ['Servers'] [$ i] ['table_uiprefs'] = ‘pma__table_uiprefs’;
              

              相应地分配表名,一切都会好起来的。

              对我来说,当我选择重新安装数据库

              选项时,sudo dpkg-reconfigure phpmyadmin 造成了更多麻烦

              【讨论】:

                【解决方案14】:

                一个非常简单的解决方案是编辑 /etc/phpmyadmin/config.inc.php 并把

                $cfg['Servers'][$i]['table_uirefs'] = '';

                它只管理 UI,如果 UI 干扰了实际数据的显示,谁需要 UI。

                干杯

                【讨论】:

                  【解决方案15】:

                  清除您的 cookie

                  当使用配置了多个数据库的 PHPMyAdmin 时,一个有 phpmyadmin 表,另一个没有; phpmyadmin 将在您的 cookie 中使用表存储数据库的首选项,然后尝试使用没有表的数据库加载它们。

                  要进行测试,请尝试使用隐身窗口。

                  【讨论】:

                    【解决方案16】:

                    我刚刚找到了 create_tables.sql, 保存到我的桌面, 打开phpMyAdmin, 选择导入选项卡, 选择了create_tables.sql, 点击确定

                    【讨论】:

                      【解决方案17】:

                      为了详细说明上面的多个回复,在交付的 config.inc.php 中有一个错误,其中缺少“_”,这就是这个回复所说的。

                      要解决这个问题,您可以在“/etc/phpmyadmin/conf.d”文件夹中添加“pma__table_uiprefs.inc.php”,保持主要配置文件不变...

                      <?php foreach($cfg['Servers'] as $i => $v) { $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; }

                      【讨论】:

                        【解决方案18】:

                        在将 Mysql InnoDB 设置更改为 innodb_file_per_table = 1
                        将 InnoDB 表移动到单独的文件中。

                        在我的情况下,其他答案都没有帮助,sudo dpkg-reconfigure phpmyadminimporting create_tables.sql 都没有。都失败了。

                        确保在 my.cnf 中没有强制执行 default-storage-enginedefault-tmp-storage-engineinnodb_file_format

                        重启 MySQL 并删除+重新安装 phpMyAdmin 后没有更多错误。

                        【讨论】:

                          【解决方案19】:

                          注释掉整个配置部分(/etc/phpmyadmin/config.inc.php):

                          来自:

                          /* 可选:高级 phpMyAdmin 功能 */

                          到:

                          /* 可选:高级 phpMyAdmin 功能

                          我只需要简单地访问数据... 这个问题不应该阻止 phpmyadmin 显示表格...

                          【讨论】:

                            【解决方案20】:

                            对于 ubuntu 我的帮助 - sudo dpkg-reconfigure phpmyadmin

                            【讨论】:

                              【解决方案21】:

                              Ubuntu 第 1 步:输入 create_tables.sql phpmyadmin 并选择 github 链接 第 2 步:下载 create_tables.sql 文件 第 3 步:使用导航栏上的导入按钮将其导入 phpmyadmin,上传 文件。 干杯!!工作完成了!!

                              【讨论】:

                                【解决方案22】:

                                对于 Window 用户 >> 只需转到 localhost phpmyadmin 然后点击这个按钮。session_clear

                                【讨论】:

                                • 它只适用于 Windows 吗?
                                • 永远不要在 Linux 或其他操作系统上尝试它,但在 Window 上它可以工作
                                猜你喜欢
                                • 2018-01-29
                                • 2018-01-24
                                • 2014-01-20
                                • 1970-01-01
                                • 2010-09-15
                                • 2015-09-28
                                • 2021-01-12
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多