从Mac终端的命令行:
mysql --host=127.0.0.1 --port=3306 -uroot -p"mypass" wordpress -e "update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0';"
成功完成。。。
然而。。。。只有 .L2vsQdD3MxvxAuDFKp0 写入每行的用户密码字段。威士忌探戈狐步舞?
.L2vsQdD3MxvxAuDFKp0
不用说当我发布 update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0'; 直接从像DataGrip这样的应用程序发送到数据库它正确地接受了整个字符串。。。。
update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0';
这个 $ 是shell变量的一部分,这些变量在无意中被替换。你必须逃离 $ 将其作为文本保留在字符串中的字符 $ .
$
$ echo "$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0" .L2vsQdD3MxvxAuDFKp0 $ echo "\$1\$Hat7oFty\$mA.L2vsQdD3MxvxAuDFKp0" $1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0