2013-07-09 8 views

Antwort

26

Versuchen Sie, diese Arbeit:

mysql -h host -u root -proot -e "show databases;"; 
+0

Für Scripting würde ich in die Verwendung von ~/my.cnf oder MYSQL_PWD Variable >> siehe http://unix.stackexchange.com/questions/227648/mysqldump-via-crontab-pass-password- hashed-password-file-so-ich-kann-verwenden-via-c/227664 # 227664 – FreeSoftwareServers

2

MySql scheint eine spezielle Befehlszeilensyntax zu haben, die die Datenbank enthält.

mysql -u user -p -e Datenbank 'SQL-Abfrage'

Diese Dokumentation ist ziemlich alt, aber ich habe es mit ssh

http://www.cyberciti.biz/faq/run-sql-query-directly-on-the-command-line/

Abschlussarbeits Befehl zu arbeiten:

ssh Benutzer @ Host "mysql -u Benutzer -e 'Tabellen anzeigen;' database“

5

Versuchen Sie folgendes:

ssh [email protected] "mysql database -e 'query to run on table_name; more queries to run;'" 

Same mit [email protected] getan werden kann, wenn der Benutzer die Berechtigung hat, um SQL-Abfragen geschweige denn Start mysql im Allgemeinen auszuführen. -e ist das gleiche wie --execute, die was auch immer Sie in den abschließenden Anführungszeichen (einfach oder doppelt) setzen und beenden. Das Standardausgabeformat ist dasselbe wie unter --batch.

+0

Gute Beschreibung, warum Problem passiert und Zitate erforderlich https://unix.stackexchange.com/a/212298/18674 –