[英]Raspberry Pi 4 To A Remote MySql: Stderr : /bin/sh: 1: mysql: not found
繼續我之前的問題(詳細信息: 將 Raspberry Pi 4 連接到位於服務器上的遠程 MySql 數據庫),我一直在挖掘導致錯誤的原因以及為什么我的Raspberry Pi 4
無法連接到遠程MySql
數據庫通過JavaScript
但是,它通過Python
腳本完美連接。
我執行了以下shelljs.exec()
命令來了解原因(靈感來自: how to run node shelljs in sync mode and get stdout and stderr ),我得到了以下 output。我需要幫助來了解這個錯誤的含義,我需要修復它。 我的代碼和 output:
>> 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
我從上面的理解是,沒有 output。但是有一個名為/bin/sh: 1: mysql: not found
的錯誤消息,錯誤代碼是127
。 感謝您幫助我理解此錯誤的含義以及我需要做什么? 它是否告訴我的Raspberry Pi 4
缺少某些東西,因此它無法通過JavaScript
MySql
更新:
MySql
RPi
是sudo apt install mariadb-server
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:~ $
總結意見的交流,有以下問題和解決方案。
以下錯誤表示 shell ( bash
/ dash
/ ash
等) 無法找到mysql
命令:
/bin/sh: 1: mysql: not found
這通常是由於PATH
變量未設置為告訴 shell mysql
在文件系統中的位置。
結果發現,本例的原因是mysql
客戶端沒有安裝。 OP 曾認為安裝 Python 模塊也會提供命令行MySQL客戶端。
解決方案是安裝MYSQL客戶端工具。
第二個問題是mysql
客戶端工具的密碼沒有正確提供,導致:
ERROR 1044 (42000): Access denied
這可以通過在-p
選項后立即提供密碼並且沒有像這樣的空格來解決:
/usr/bin/mysql -u USER -h aa.bb.cc.dd -pPASSWORD -e "SOMECOMMAND"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.