问题标签 [mysql-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
194 浏览

mysql - 如何在 MySQL CLI 中漂亮地打印 SHOW CREATE VIEW 输出?

您可以运行SHOW CREATE VIEW someview;以查看视图定义。但是,MySQL 返回定义时没有换行,因此很难阅读。

这样做SHOW CREATE VIEW someview \G会稍微好一些,因为它不会导致多行表格边框填满屏幕 ( --------------)

有没有办法用换行符打印视图定义更具可读性?

0 投票
1 回答
264 浏览

php - 正确使用 mysqli_real_escape_string 进行插入、选择和更新语句 - PHP/Oracle

当用户在我的数据库中更新、插入或搜索某些内容时,我需要知道此代码是否有效。我还不熟悉 mysqli_real_escape_string。

如果我们谈论用户输入,我需要在这里使用 $_SESSION 吗?

我除了返回用户在我的应用程序中输入的内容。

0 投票
0 回答
57 浏览

mysql-cli - 清除做什么?

习惯了 Linux,我输入clearMySQL CLI 并希望屏幕清除 - 它没有。但它没有产生语法错误或任何其他类型的通知。

我决定在其中输入任何随机单词

这产生了:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“trey”附近使用的正确语法

我有点预料到,但现在让我担心的clear是在幕后做一些事情。

当我在网上搜索时MySQL clear man,什么都没有出现。我并没有特别询问如何清除屏幕,因为我发现 SO 帖子详细说明了操作方法,但是有什么作用clear呢?为什么它不会产生语法错误?

0 投票
1 回答
65 浏览

mysql - mysqldump sql文件保存无内容

我有这个 php 脚本。当我运行脚本 mysqldump 时,文件已保存但内容为空。任何帮助表示赞赏。

谢谢你。

打印时没有错误,但文件为空

0 投票
0 回答
353 浏览

proxy - 让 mysql 客户端使用 ALL_PROXY socks5 服务器

我想从我的本地机器连接到一个极光无服务器数据库。因为数据库只能从 aws 云中访问,所以我设置了一个运行microsocks的 ec2 实例:

我现在想从我的机器上使用 mysql 进行连接:

错误 2003 (HY000): 无法连接到“数据库...com”上的 MySQL 服务器 (111)

如果我在 ec2 实例上运行此命令,它将成功。所以我假设 mysql 不尊重我的代理设置。如果我在我的机器上运行 curl 它尊重代理设置。

请注意,这仅用于测试目的,我知道这不是生产使用的解决方案。

0 投票
1 回答
175 浏览

mysql - 在终端中运行 mysql 命令时如何在 mac OS 中指定默认用户?

我在全新安装 mysql 的 mac OS Catalina 10.15.2 上。mysql运行命令或时,我得到以下输出mysql -v

这是因为root在我的情况下没有设置用户。MySQL 工作得很好,因为我可以输入mysql -u root,所以这并没有真正引起任何问题,但它有点烦人。

如何将 mysql 命令设置为使用 root 用户而不是我的计算机用户?

0 投票
1 回答
1098 浏览

mysql-connector - 在 Ubuntu 18.04 上安装 MySQL 客户端 5.6

我有一个遗留项目,我正在尝试对其进行现代化改造,其中一部分涉及使用mysqldump.

该应用程序的数据库使用 MySQL 5.6,并通过 RDS 实例托管。要mysqldump启动并运行,我相信我需要安装mysql-client对应于 5.6 的版本。

但是,apt-get install mysql-client默认情况下运行会安装 8.0。但是,我找不到任何特定于版本的mysql-client可用版本。运行sudo apt-get install mysql-client-5.7会返回一条通知,指出没有可用的安装候选。

是否仍然可以安装旧版本的mysql-client? 如果没有,是否有另一种方法来获得该mysqldump功能?

编辑:正如@exussum 下面提到的,8.0 向后兼容 5.6 和 5.7。我在运行时遇到了错误mysqldump,我认为这表明不兼容,但实际上与我的应用程序特别相关。

0 投票
0 回答
662 浏览

mariadb - 是否可以删除 MariaDB 上的提示历史记录?

主要问题是我在MariaDB上写了一个安全敏感语句(在许多其他语句中),所以我想删除提示历史记录(如Linux 上的命令history -c ):

因此,当我单击键盘上的向上和向下按钮时,我会看到所有提示历史记录

当我尝试删除MariaDB 上的提示历史记录时,它不起作用:

所以,我在互联网上检查了这个脚本(也不起作用):

参考 > https://www.thegeekstuff.com/2010/01/disable-mysql-history-clear-mysql_history-and-mysql_histfile/

之后,我还在互联网上检查了另一个脚本(同样也不起作用):

参考 > https://www.cyberciti.biz/faq/howto-clear-mysql-command-history/

一方面,我的操作系统上有太多与“mysql”相关的文件,但没有与 mysql 历史相关的文件,所以我一一检查了所有与 mysql 配置相关的文件,但没有找到应该删除的文件:

另一方面,mariadb 文件也是如此:

你能给我一个提示吗?您可以检查我是否尝试过。提前致谢。

PS_1:如果 Stack* 上有关于此主题的任何其他条目(我已经检查过,但我没有看到)或者我的条目违反了 Stack* 上的任何规则(我已经检查了规则并且我认为我没有违反任何规则) ),请给我发私信,我将删除此条目。我正在努力学习而不会因提出问题而失去声誉积分。

PS_2:我已经重新启动了 mysql,现在状态是活动的(正在运行):

参考> https://superuser.com/questions/282115/how-to-restart-mysql

PS_3:我已经尝试了命令stat ~/.mysql_history; rm ~/.mysql_history; stat ~/.mysql_history,我的输出是文件或目录/home/jordiba90/.mysql_history不存在

PS_4:我已经尝试了该命令strace mysql,但我无法在此处分享输出,因为消息正文限制为 30.000 个字符(如果我这样做,我应该输入 44.321,aprox)

PS_5:检查了具体的输出openat(AT_FDCWD...,没有与mysql_history相关的。好像没有那个具体的句子

PS_6:我使用 'sudo' 尝试了命令 'strace mysql',我得到了以下与 mysql 历史相关的输出:

PS_7:我已经删除了最后一个与命名的mysql历史相关的目录,/root/.mysql_history但我仍然在mariadb提示符上看到历史

0 投票
2 回答
24 浏览

python - 由于此错误,无法部署 Django 应用程序如何修复

错误:mysqlclient-1.4.6-cp38-cp38-win32.whl 不是该平台支持的轮子。!推送被拒绝,无法编译 Python 应用程序。!推送失败

0 投票
1 回答
356 浏览

mysql - 为什么 --default-character-set=utf8mb4 对客户端连接没有影响?

根据https://dev.mysql.com/doc/refman/5.6/en/charset-connection.html,当我使用 mysql 8.0 客户端使用以下命令连接到 mysql 5.6 服务器时:

/usr/bin/mysql -h ${DB_HOST} -u ${DB_USER} -p --default-character-set=utf8mb4

我希望客户端会建立一个到服务器的 utf8mb4 连接。但是,连接设置为 latin1:

使用另一个字符集,例如: /usr/bin/mysql -h ${DB_HOST} -u ${DB_USER} -p --default-character-set=koi8r将导致客户端使用提供的字符集进行连接:

我可以改变客户端连接的唯一方法是执行charset utf8mb4SET NAMES utf8mb4在连接到服务器之后。

为什么 --default-character-set=utf8mb4 不起作用?我想使用其他客户端工具,如 mysqldump 和 mysqlimport,但如果没有这个标志,我将获得 latin1 编码而不是 utf8mb4 编码。在这种情况下,更改默认服务器设置不是一个选项,必须从客户端完成。

更多信息:我正在尝试安装 20.04 ubuntu WSL2,因此没有可用的 5.6 或 5.7 客户端。但是,使用 5.6 或 5.7 windows mysql 客户端将遵守 --default-character-set=utf8mb4,但 8.0 windows 客户端具有与 WSL2 客户端相同的行为。