Como executar os comandos mysql através do shell script?

1
mysql -u root -pmysql;

SELECT TABLE_NAME AS "Table Name", table_rows AS "Quant of Rows", ROUND((data_length + index_length)/1024/1024,2) AS "Total Size Mb"  FROM information_schema.TABLES WHERE information_schema.TABLES.table_schema='database_name';

Eu quero criar um script de shell que irá executar esses comandos e retornar o resultado.

Como posso executar esses comandos por meio do script de shell?

    
por krunal shah 22.03.2011 / 07:15

3 respostas

3
mysql -u root -pmysql << eof
SELECT TABLE_NAME AS "Table Name", table_rows AS "Quant of Rows", ROUND((data_length + index_length)/1024/1024,2) AS "Total Size Mb"  FROM information_schema.TABLES WHERE information_schema.TABLES.table_schema='database_name';
eof
    
por 22.03.2011 / 07:21
6

Ainda outra resposta ...

mysql -uroot -pmysql -B --skip-column-names -e'SELECT TABLE_NAME AS "Table Name", table_rows AS "Quant of Rows", ROUND((data_length + index_length)/1024/1024,2) AS "Total Size Mb"  FROM information_schema.TABLES WHERE information_schema.TABLES.table_schema="database_name"'

Além disso, se você tiver a senha no script, deverá protegê-la para que ela não seja legível por pessoas que você não deseja conhecer a senha.

    
por 22.03.2011 / 15:23
3

Ou, de forma equivalente, algo assim:

echo 'SELECT TABLE_NAME AS "Table Name", table_rows AS "Quant of Rows", ROUND((data_length + index_length)/1024/1024,2) AS "Total Size Mb" FROM information_schema.TABLES WHERE information_schema.TABLES.table_schema="database_name";' | mysql -u root -pmysql

EDIT: cotação fixa.

    
por 22.03.2011 / 07:31