#1193 - 尝试登录 phpmyadmin 时出现未知系统变量 'lc_messages'

Posted

技术标签:

【中文标题】#1193 - 尝试登录 phpmyadmin 时出现未知系统变量 \'lc_messages\'【英文标题】:#1193 - Unknown system variable 'lc_messages' when trying to login to phpmyadmin#1193 - 尝试登录 phpmyadmin 时出现未知系统变量 'lc_messages' 【发布时间】:2016-10-31 06:26:14 【问题描述】:

我最近安装了 mysqlphpMyAdmin,但是当我尝试使用 root 凭据登录 phpMyAdmin 时,我收到以下查询错误:

SQL 查询:

SET lc_messages = 'en_US';

MySQL 说:文档

#1193 - 未知系统变量 'lc_messages'

为什么我会遇到这个错误?

【问题讨论】:

***.com/questions/14678934/… 也许我不理解您的回复,但他的回复并不代表同样的错误,也没有告诉我要改变什么。我没有为任何 phpmyadmin 页面编辑任何代码。 在询问特定软件时,请在您的question 中包含版本信息。 【参考方案1】:

我遇到了同样的问题,这是我解决它的方法:

    将 mysql 升级到最新版本: http://www.tecmint.com/install-latest-mysql-on-rhel-centos-and-fedora/

    升级后mysql服务无法启动。解决方法如下:mysqld_safe --skip-grant-tablesmysql_upgrade

【讨论】:

【参考方案2】:

我发现我有一个旧版本的 phpmyadmin,错误是因为他们对 PHP 7 所做的更改。

如果您运行任何版本的 php 5.5 或更高版本,除非您更新 phpmyadmin,否则您将收到此错误。

【讨论】:

【参考方案3】:

我遇到了同样的问题。检查您的 mySQL 版本:

对于 mySQL 5.5,请使用 phpMyAdmin 4.4.x 及更高版本

对于 mySQL 5.1,使用 phpMyAdmin 4.0.x

希望这对某人有所帮助。

【讨论】:

【参考方案4】:

卸载您的 mysql 版本和所有依赖项。 要查看所有已安装的 mysql 和依赖包,请尝试以下命令:

- rpm -qa | grep mysql

卸载:

- yum erase mysql
- yum erase mysqlPackageDependencie
...

卸载所有依赖项后,安装新的 mysql 版本:

- yum install mysql55-server

启动你的Service Mysql:

- service mysqld start

太棒了!现在一切都很完美! :)

【讨论】:

嗯,我认为这在已经存在数据库的服务器上有点危险。我假设这个解决方案是基于对 MySQL 进行空的全新安装,所以可以卸载它。【参考方案5】:

这不是真的。 PhpMyAdmin 可以像往常一样与旧的 Mysql 一起使用。

快速修复很简单

/usr/share/phpMyAdmin/libraries/common.inc.php 中删除这些行
if (PMA_MYSQL_INT_VERSION < $cfg['MysqlMinVersion']['internal']) 
  PMA_fatalError(
    __('You should upgrade to %s %s or later.'),
    array('MySQL', $cfg['MysqlMinVersion']['human'])
  );

/usr/share/phpMyAdmin/libraries/classes/DatabaseInterface.php 中删除这些行
if (! empty($locale)) 
  $this->query("SET lc_messages = '" . $locale . "';", $link, self::QUERY_STORE);

参考https://github.com/phpmyadmin/phpmyadmin/issues/12822

【讨论】:

当我在 MySQL 升级之前升级 PMA 但需要进行数据库备份时,这让我摆脱了束缚——非常方便的 临时 修复!感谢您强调它。 实际上,我们必须删除或注释这两个代码。顺便说一句,在最新的 phpMyAdmin 4.8.5 中,第一个代码中的第一个条件是 if ($GLOBALS['dbi']-&gt;getVersion() &lt; $cfg['MysqlMinVersion']['internal']) 这是最好的答案。如果您已经安装了 PHPMyAdmin,这将解决问题。无需加载旧版本。另外,请按照@stckvrw 的指示进行更新。否则您无法搜索该行(对我来说是第 391 行)。 我花了 2 分钟才决定坚持使用管理员。糟糕的代码会迅速暴露自己【参考方案6】:

我听从了 Krashan Brahmanjara 的指示。我删除了

    if (! empty($locale))  $this->query("SET lc_messages = '" . $locale . "';", $link, self::QUERY_STORE);

我也删除了if ($GLOBAL

【讨论】:

以上是关于#1193 - 尝试登录 phpmyadmin 时出现未知系统变量 'lc_messages'的主要内容,如果未能解决你的问题,请参考以下文章

我登录到 phpmyadmin。登录后我得到错误。

打开phpmyadmin时未知系统变量[重复]

在 ubuntu 12.04 上安装 phpmyadmin 时出错

Phpmyadmin 登录页面问题

phpmyadmin:无法登录

登录后phpmyadmin继续加载