mysql用哪个用户启动_当以根用户身份运行包含mysql的脚本时,mysql查询输出mysql使用信息...

我的cronjob应该执行一个带有mysql查询的脚本

如果我查看cronjob的日志,我会看到mysql help命令的输出我希望看到来自视图类型表的2个表名如果我从命令行而不是以root用户身份运行下面的脚本,它可以完美地运行。

如果我以root身份运行它,我会得到mysql帮助输出

username,password和hostname是环境变量

我的第一个问题是:root用户在echo$username上获得的结果是否可能与其他用户不同?#!/bin/sh

DBNAME="my_db"

# get all table names that are type of view

query="SHOW FULL TABLES IN $DBNAME WHERE TABLE_TYPE LIKE 'VIEW';"

views=$(mysql -sN -u"$USERNAME" -p"$PASSWORD" -h"$HOSTNAME" -e "$query" "$DBNAME")

echo "$views"

我得到的输出是:mysql Copyright Oracle affiliates. owners. Usage: -?, -I, --auto-rehash 'rehash' and --disable-auto-rehash. (Defaults -A, No table mysql --auto-vertical-output Automatically result -B, (Enables --binary-as-hex --character-sets-dir=name Directory --column-type-info -c, default with -C, -#, --debug-check -T, -D, --default-character-set=name Set --delimiter=name --enable-cleartext-plugin Enable/disable -e, file.) -E, -f, -G, Enable internal named otherwise Disable disabled -i, --init-command=name Will --local-infile -b, -h, -H, -X, --line-numbers (Defaults -L, Don't -n, --column-names (Defaults -N, Don't --sigint-ignore -o, default --pager[=name] option, PAGER. etc. work option -p, Password not -P, order /etc/services, --prompt=name --protocol=name memory). -q, down history -r, --reconnect --disable-reconnect. (Defaults -s, each -S, --ssl other --ssl-ca=name --ssl). --ssl-capath=name --ssl-cert=name --ssl-cipher=name --ssl-key=name --ssl-verify-server-cert Verify hostname default. --ssl-mode=name -t, --tee=name also. --disable-tee. -u, -U, -U, -v, -V, -w, --connect-timeout=# --max-allowed-packet=# The server. --net-buffer-length=# The --select-limit=# --max-join-size=# --safe-updates. --secure-auth (pre-4.1.1) --server-arg=name --show-warnings --plugin-dir=name --default-auth=name Default /etc/mysql/my.cnf The The --print-defaults --no-defaults --defaults-file=# --defaults-extra-file=# Variables and --------------------------------- auto-rehash auto-vertical-output binary-as-hex character-sets-dir column-type-info comments compress debug-check debug-info database default-character-set delimiter enable-cleartext-plugin vertical force named-commands ignore-spaces init-command local-infile no-beep host html xml line-numbers unbuffered column-names sigint-ignore port prompt quick raw reconnect socket ssl ssl-ca ssl-capath ssl-cert ssl-cipher ssl-key ssl-verify-server-cert table user safe-updates i-am-a-dummy connect-timeout max-allowed-packet net-buffer-length select-limit max-join-size secure-auth show-warnings plugin-dir default-auth我删除了-SN标志,但没有帮助。

我简化了查询,但没有帮助。

如果我在命令行上用sudo运行命令,它就能工作。 sudo mysql-sn-u$username-p$password-h$hostname-e“显示my_db中的完整表,其中TABLE_TYPE LIKE'view';” my_db

有人能帮忙找出问题所在吗?

编辑:我发现,如果我在脚本中使用环境变量并以root用户身份运行它,它们是空的。如果我运行printenv,我可以看到它们在那里

如果我运行sudo printenv它们不在那里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值