#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 【问题描述】:我最近安装了 mysql 和 phpMyAdmin,但是当我尝试使用 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']->getVersion() < $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'的主要内容,如果未能解决你的问题,请参考以下文章