Получение значений из базы данных mysql через ssh через nodered - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь получить какое-то значение из моей базы данных mysql с помощью exec-команды node-red через ssh - см. Последовательность действий ниже.

Следующая команда работает, если я непосредственно вошел в терминал ssh:

mysql -u root -ppasswordz -D prayertime -e "SELECT isha_manual_current FROM settings_al_bayan;"

Однако, если я посылаю команду через узел exec-red-node, я получаю следующую ошибку.любая помощь - я не хочу использовать узел mysql для простоты .. также обратите внимание, что я могу отправлять команды mysql ssh для установки значений ячеек в базе данных, но получение значений из базы данных не работает.

Команда:

[
    {
        "id": "d4525747.1e22a",
        "type": "inject",
        "z": "f0b86b4.0df4218",
        "name": "get values",
        "topic": "",
        "payload": "",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 160,
        "y": 1360,
        "wires": [
            [
                "db99e5d1.c17db8"
            ]
        ]
    },
    {
        "id": "db99e5d1.c17db8",
        "type": "function",
        "z": "f0b86b4.0df4218",
        "name": "",
        "func": "msg.payload = \"mysql -u root -ppassword -D prayertime -e  \\\"SELECT isha_manual_current FROM settings_al_bayan;\\\"\";\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 350,
        "y": 1360,
        "wires": [
            [
                "42e39ae2.13c22c",
                "9686d06b.54e12"
            ]
        ]
    },
    {
        "id": "42e39ae2.13c22c",
        "type": "exec",
        "z": "f0b86b4.0df4218",
        "command": "ssh pi@10.8.0.142",
        "addpay": true,
        "append": "",
        "useSpawn": "false",
        "timer": "",
        "oldrc": false,
        "name": "",
        "x": 590,
        "y": 1360,
        "wires": [
            [
                "9686d06b.54e12"
            ],
            [
                "9686d06b.54e12"
            ],
            [
                "9686d06b.54e12"
            ]
        ]
    },
    {
        "id": "9686d06b.54e12",
        "type": "debug",
        "z": "f0b86b4.0df4218",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "x": 770,
        "y": 1280,
        "wires": []
    }
]

Ошибка:

mysql Ver 14.14 Distrib 5.5.54, для debian-linux-gnu (armv7l) с использованием readline 6.3 Copyright (c) 2000, 2016, Oracle и / или ее филиалов.Все права защищены.

Oracle является зарегистрированным товарным знаком корпорации Oracle и / или ее филиалов.Другие имена могут быть товарными знаками соответствующих владельцев.

Использование: mysql [ОПЦИИ] [база данных] - ?, --help Показать эту справку и выйти.-Я, --help Синоним для -?--auto-rehash
Включить автоматическую перефразировку.Не нужно использовать 'rehash', чтобы получить заполнение таблицы и поля, но запуск и повторное подключение могут занять больше времени.Отключить с помощью --disable-auto-rehash.(По умолчанию включено; используйте --skip-auto-rehash для отключения.) -A, --no-auto-rehash Нет автоматической перефразировки.Нужно использовать 'rehash', чтобы получить заполнение таблицы и поля.Это ускоряет запуск mysql и отключает перефразирование ...

...