Подключение к MySQL через скрипт bash не выполняет запросы - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь подключиться к mysql на локальном хосте через скрипт Bash. (На Raspberry PI 3B + Raspbian)

Кажется, что соединение работает, но вместо отображения результатов запроса отображается какая-то справка mysqlстр. Как это выглядит:

mysql  Ver 15.1 Distrib 10.1.38-MariaDB, for ... using readline 5.2
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Usage: mysql [OPTIONS] [database]

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
The following groups are read: mysql client client-server client-mariadb
The following options may be given as the first argument:
--print-defaults          Print the program argument list and exit.
...
#!/bin/bash
username="user"
passwort="1234"
mysql -u $username -p$passwort -e "show databases;"

Как мне изменить команду для выполнения данного оператора?

1 Ответ

0 голосов
/ 03 ноября 2019

В вашем пароле есть несколько символов, которые были интерпретированы оболочкой, вы должны защитить пароль, заключив в кавычки.

Например, мой пароль получил (пробел)

MyMac:~ e444$ u="root"
MyMac:~ e444$ p="1234 2"
MyMac:~ e444$ mysql -u$u -p$p -h 127.0.0.1 -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'172.17.0.1' (using password: YES)

здесь доступ запрещен, поскольку отправленный пароль был 1234

MyMac:~ e444$ mysql -u$u -p"$p" -h 127.0.0.1 -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

, здесь защищаем переменную с помощью "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...