问题标签 [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.
mysql - mysql -r -s -N 选项卡式输出:如何处理数据中的换行符和制表符?
我正在编写一个批处理脚本,该脚本需要以制表符分隔格式获取一些日志。问题是日志中的某些项目包含换行符 (\n),这使得行不符合我期望的列数。有什么方法可以替换或忽略或强制 mysql 将特殊字符写为 \x0a 等?
mysql - mysql客户端:更改输出列分隔符
认为这是人们肯定会面临的一个非常基本的问题。但不幸的是,经过大量搜索后,我找不到解决方案。
我正在使用 mysql 命令行客户端运行查询,然后根据我的要求解析输出。默认情况下,它返回输出为tab separated
. 并且表格的某些列中有选项卡。
因此,我无法正确解析它,因为tab
列数据中的 s 没有被转义。当cut
我输出 时tab
,我得到比预期更多的列。
我将使用select * from table
类型查询。因此,在查询中按列替换tab
不是一种选择。
在 mysql doc上检查了任何可用的选项,但似乎没有。有什么办法可以解决这个问题?
mysql - 使用mysql cli连接时,为什么-p和密码之间没有空格?例如 -ppassword
为什么不需要空间有什么理由吗?事实上,除非没有空间,否则它是行不通的。
mysql - 查询执行被中断,ERROR 1317 (70100)
我使用mysql命令
mysql -uuser -ppassword -B -e "SELECT SUM(duration) FROM table GROUP BY userId" 数据库 > result.tsv &
这是一个非常慢的 SQL,我需要使用 & 让 SQL 在后台执行。这大约需要几个小时。但总是在执行过程中报错:
第 1 行的错误 1317 (70100):查询执行被中断
终端关闭——向服务器发送“KILL QUERY 236”...
终端关闭——查询中止。
我在网上找了很久。但是没有用。请帮助或尝试提供一些想法如何实现这一目标。
mysql - 防止 MySQL 客户端将密码保存到 ~/mysql_history
我使用mysql-client 5.55.9999
,我想知道如何防止 mysql-client 将密码保存到~/.mysql_history
?假设我创建了一个新用户:
该声明正按原样放入~/.mysql_history
. 这是我不想要的。我记得在早期版本的 mysql-client 中,包括密码的行没有被放入历史文件中,但我不记得设置中的确切选项是什么。
mysql - mysqldump 如何知道存在哪些数据库以及它们的位置?
问题
这是一个简单的问题,在某处有一个可验证的答案,我似乎无法找到它。这是一个“东西是如何工作的”类型的问题,而不是“帮我修复一个错误”。我试图了解 mysqldump 的工作原理。
我已经尝试过的
我用谷歌搜索how does mysqldump know what databases exist and where they are located?
无济于事。我还在 Stack Overflow 上发布了相同的查询,但没有找到明确的答案。
最有用的链接是重复参考这里的手册。不幸的是,那篇文章对 mysqldump 的工作原理没有明确的答案。
我的问题
以下问题实际上是同一个主要问题的多个方面,以从各个角度收集最完整的理解。
为什么我不能从 MySQL 控制台 CLI 而不是 Windows 命令行运行它?
如果我将 mysqldump.exe 的路径添加到我的 Windows 系统路径中,我将能够从我的 Windows 命令行中的任何路径运行 mysqldump,还是需要考虑其他障碍?
我的系统上安装了多个 mysqldump.exe 实例。两个在 WAMP 中,两个在独立的 Apache 2.4 安装中。当我在命令提示符下键入 'mysqldump' 时,我如何知道正在调用哪个版本的 mysqldump -特别是如果 Windows PATH 环境变量具有两个不同安装的 mysqldump.exe 的路径?有没有
msyqldump which
类似的?当我在 Windows 命令提示符下运行 mysqldump 时,由于它不在 MySQL 控制台中运行,程序如何知道可用数据库的列表是什么?
mysql - mysql命令行sql执行之谜,只考虑部分字符串
从我的 Mac 终端的命令行:
mysql --host=127.0.0.1 --port=3306 -uroot -p"mypass" wordpress -e "update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0';"
顺利完成...
但是....仅.L2vsQdD3MxvxAuDFKp0
写入每行的 user_pass 字段。威士忌探戈狐步舞?
不用说,当我update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0';
从像 DataGrip 这样的应用程序直接向数据库发出问题时,它会正确地获取整个字符串......
mysql - MySQL 更新时出现错误 1064,但查询看起来正确
我不确定这里发生了什么
关于如何更新消息表的读取列的任何想法?
mysql - MySQL / MariaDB:CLI 仅支持少于 80 个字符,是预期的还是错误的?
我在 Debian Stable 的服务器上设置了一个新的 MariaDB 服务器,并配置了一个新的 SQL 用户,称为“用户”,密码为“123456”(编辑:我使用了一个精确的 80 个字符的生成密码)。我现在可以mysql -uuser -p123456
在机器上使用来登录该用户。使用本地 phpMyAdmin 实例也可以正常工作。
但是我自己编写的节点应用程序无法登录到这台服务器上,在其他具有类似配置的机器上应用程序可以。
经过大量调试后,我发现如果我没有通过参数输入密码,我也无法通过 mysql-cli 登录。例子:
我无法想象为什么有些登录方法有效而另一些无效,并且在之前的每台机器上,我都没有体验到mysql [...] -p [ENTER] password
和之间的区别mysql [...] -ppassword
。
MariaDB 服务器的日志文件反映了所有成功和不成功的身份验证。
有人可以解释此服务器上可能配置错误的内容吗?
编辑:
首先,我不小心错误地配置了我的节点应用程序,修复应用程序后现在可以成功登录。
此外,我使用较短的密码重试,然后一切正常。经过多次尝试,我认为 MySQL Cli(至少在 Debian 上)只支持包含少于 80 个字符的密码(79 个字符可以正常工作)。有人知道这是否是预期的吗?
mysql - 在 windows 命令中将 mysql 表导入和导出到 xml 文件?
我正在使用 MySQL 服务器版本“MySQL Server 8.0”。请帮助我,如何在 Windows 命令提示符中将 mysql 表导出和导入到 xml 文件。
谢谢。