簡體   English   中英

Raspberry Pi 4 到遠程 MySql: Stderr: /bin/sh: 1: mysql: not found

[英]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

更新:

  1. 基於下面@Mark Setchell 的建議:我已經通過參考https://pimylifeup.com/raspberry-pi-mysql/MySql RPisudo 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:~ $

總結意見的交流,有以下問題和解決方案。


以下錯誤表示 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM