通过bash获取MYSQL数据库信息

时间:2013-09-28 18:54:58

标签: mysql bash shell

我正在使用一些bash代码,我在这里发布了另一篇文章

#!/bin/sh

users=$(mysql --user=user --password=password --database=$db -h _IP ADDRESS) -s --       execute="select$ users from db limit 1;"|cut -f1)

echo "$users"

数据库是数据库,表格是用户基本上我希望能够从表中获取用户数但是当我运行脚本时我得到了

ERROR 1049 (42000): Unknown database 'execute=select users from db limit 1;'

知道我做错了什么或更好的做法吗?如果我做

select * form users;

在mysql服务器本身上它返回12行(0.00秒)12是用户数,所以我只想让我的脚本查询数据库DB上的用户表并返回行数,即12。

3 个答案:

答案 0 :(得分:1)

users_count=$(
    mysql --user user_name --password=password  -h x.x.x.x <<EOF | tail -n 1
    select count(1) from mysql.user;
EOF
)

答案 1 :(得分:0)

似乎你的参数的顺序是错误的......

MYSQL告诉你'执行=从数据库限制1中选择用户;'位于数据库参数的位置。

尝试这样的事情:

mysql --user user_name --password=password -e 'select users from db_schema.table limit 1;'

答案 2 :(得分:0)

试试这个:

mysql -u username --password=password -h hostname database_name -e 'select count(1) from table limit 1;'