首页 > 解决方案 > MySQL Change Password 命令在 Ubuntu Server 上的 MySQL 中运行导致终端出现奇怪的字符更改

问题描述

我在 VirtualBox 中运行带有 MySQL 的 Ubuntu 服务器,并尝试更改用户的密码。

我跑:

sudo mysql -u root -p

访问 MySQL。在这一点上,以及任何其他不试图查看用户密码的命令,一切正常。

在 MySQL ( ) 中,我运行:

SELECT * FROM mysql.user;

运行此程序后,整个显示器和终端都会发生变化。输出和命令行都显示奇怪的字符。我运行这个命令,它工作得很好。是什么赋予了?

SELECT user FROM mysql.user;

以下是之前和之后的屏幕截图:

之前屏幕截图,之后的屏幕截图

任何帮助将不胜感激。我不知道为什么会这样。这是 Ubuntu 的东西、MySQL 的东西还是 VirtualBox 的东西?我是个菜鸟,所以这只是一个不知情的理论,但它可能与 MySQLauthenticated_string和散列有关吗?

它实际上创建了一个更改,即使在键入exit和点击Enter、退出 MySQL 并返回到仍然显示奇怪字符的 Ubuntu 命令行时,该更改仍然存在。

编辑:

我正在关注博客教程并<db-password>在创建 MySQL 用户时作为密码插入。我应该插入一个实际的新密码,但我想我会使用它。<我在设置用户的 MySQL 密码时使用的-或字符是否>可能导致这种情况?

标签: mysqlbashubuntuhashvirtualbox

解决方案


我相信这是 MySQL 中的字符编码问题,因为SELECT * FROM mysql.user WHERE user = 'root';没有相同的问题。因此,我相信该问题仅发生在使用<,->字符的那个用户的密码数据点。也许其他人可以提供更好的答案,更彻底地解释为什么会发生这种情况。具体来说,我很好奇 MySQL 中的这个问题是如何在退出 MySQL shell 后影响 Ubuntu 命令行的外观的。


推荐阅读