继续我之前的问题(详细信息:connect Raspberry Pi 4 to a remote MySql database located on a server),我一直在挖掘,以找出导致错误的原因,以及为什么我的Raspberry Pi 4
无法通过JavaScript
连接到远程MySql
数据库,但它通过Python
脚本进行了完美的连接。
我执行了以下shelljs.exec()
命令以了解原因(灵感来自:how to run node shelljs in sync mode and get stdout and stderr),我得到了以下输出。我需要帮助,以了解这个错误的意思,我需要做修复它。我的代码和输出:
>> var shell = require('shelljs');
>> const { stdout, stderr, code } = shell.exec(command, { silent: true })
>> console.log("Stdout: "+stdout+", Stderr: "+stderr+", Code: "+code)
# Output is
>> Stdout: , Stderr: /bin/sh: 1: mysql: not found, Code: 127
我从上面的理解是,没有输出。但有一个错误消息称为/bin/sh: 1: mysql: not found
和错误代码是127
。我感谢您的帮助,了解这个错误的意思和我需要做什么?它是否告诉我的Raspberry Pi 4
是缺少一些东西,所以它无法通过JavaScript
连接到远程MySql
?
更新:
1.基于以下@Mark Setchell建议:我已通过引用https://pimylifeup.com/raspberry-pi-mysql/在RPi
上安装了MySql
代码为sudo apt install mariadb-server
1.@Mark Setchell建议:这是终端的响应
pi@raspberrypi:~ $ /usr/bin/mysql -u fieldArduinoYUN -h aa.bb.cc.dd -p abcdf -e "use field_data; SELECT product FROM product_list WHERE product_id = 123;"
Enter password:
ERROR 1044 (42000): Access denied for user 'fieldArduinoYUN'@'%' to database 'abcdf'
pi@raspberrypi:~ $
1条答案
按热度按时间j9per5c41#
总结意见交流,有以下问题和解决方案。
以下错误表示shell(
bash
/dash
/ash
等)无法找到mysql
命令:这通常是由于
PATH
变量没有设置为告诉shellmysql
在文件系统中的位置。在这种情况下,原因是没有安装
mysql
客户端,OP认为安装Python模块也会提供命令行MySQL客户端。解决方案是安装MYSQL客户端工具。
第二个问题是
mysql
客户端工具的密码未正确提供,导致:这可以通过在
-p
选项后立即提供密码和***不带空格***来解决,如下所示: