使用Bash从表更新用户密码

时间:2018-02-17 19:40:37

标签: mysql wordpress bash

我的bash脚本正在使用mysql查询来执行命令,但是当我尝试输入我的密码时,它读入的内容仍然给我一个错误。

printf 'Wordpress Password?:\n'
read -e wrdpressPass

这是我的mysql查询:

mysql> use "$fulldb" << EOF
other mysql queries....
....
UPDATE wp_users SET user_pass = MD5('"$wrdpressPass"') where id=2 LIMIT 1;  
EOF

注意:已经以root用户身份登录,因此在使用mysql命令时不需要密码。也试过它

UPDATE wp_users SET user_pass = MD5("$wrdpressPass") where id=2 LIMIT 1;

1 个答案:

答案 0 :(得分:0)

您实际上将密码更改为$wrdpressPass,这意味着不是您输入的内容,而是字面 $wrdpressPass

shell扩展在mysql命令中不起作用。

如果您将所有内容都包含在一个脚本中,它将起作用:

#!/bin/bash

printf 'Wordpress Password?:\n'
read -e wrdpressPass

echo "Found ${wrdpressPass}"
mysql -v -u root db_name -p << EOF
SELECT * from wp_users;
UPDATE wp_users SET user_pass = MD5("$wrdpressPass") where id=2 LIMIT 1;
SELECT * from wp_users;
quit
EOF

这也将向您显示对行的更改。

如果您仍无法登录,是否确定要更改id=2用户的登录密码?