Run SQL query from shell prompt

mysql -u user -p -e 'SQL Query' database

Where,
-u : Specify mysql database user name
-p : Prompt for password
-e : Execute sql query

database : Specify database name


To list all database, enter:
$ mysql -u replicant -p -e 'show databases;'


To list count all rows, enter:
$ mysql -u replicant -p -e 'SELECT COUNT(*) FROM remote_logs'


Sample output:

Enter password:
+----------+
| count(*) |
+----------+
| 471 |
+----------+

Tell mysql to display output a page at a time, by using more or less pager:
$ mysql --pager=/usr/bin/less -u replicant -p -e 'SELECT COUNT(*) FROM remote_logs'


Redirect out to a file:
$ mysql -u replicant -p 'PassWord' -e 'SELECT COUNT(*) FROM quotes' remote_logs > sql.output.txta

To avoid password prompt just create ~/my.cnf file:

[client]
# for local server
#host=localhost
host=10.128.150.205
user=replicant
password=myPassword

[mysql]
pager=/usr/bin/less

Comments

Popular posts from this blog

Mysql to CSV

Secure server with Firewalld

Setup K8s cluster via kubeadm