2013-07-09 7 views

Odpowiedz

26

Spróbuj tego:

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

W przypadku skryptów zajrzę się użyciem zmiennej ~/my.cnf lub MYSQL_PWD >> zobacz http://unix.stackexchange.com/questions/227648/mysqldump-via-crontab-pass-password- hashed-password-file-so-i-can-use-via-c/227664 # 227664 – FreeSoftwareServers

2

MySql wydaje się mieć specjalną składnię wiersza poleceń, która zawiera bazę danych.

mysql -u użytkownik -p -e database 'Query'

Dokumentacja ta jest dość stary, ale mam go do pracy

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

Końcowe polecenia pracy z ssh:

użytkownik ssh @ host "mysql -u user -e" pokazuje tabele; ' databasename”

5

Spróbuj tego:

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

samo można zrobić z [email protected] jeśli użytkownik ma uprawnienie do wykonywania zapytań SQL nie mówiąc uruchamiania mysql w ogóle. Używanie -e jest takie samo, jak --execute, co spowoduje uruchomienie wszystkiego, co wstawisz w końcowych cudzysłowach (pojedyncze lub podwójne) i zakończenie. Standardowy format wyjściowy będzie taki sam, jak w przypadku korzystania z --batch.

+0

Dobry opis, dlaczego występuje problem i wymagane cytaty https://unix.stackexchange.com/a/212298/18674 –

Powiązane problemy