我的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;
答案 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
用户的登录密码?