我需要一个单行程序来配置我的数据库中的用户。我正在运行MySQL 5.6。这是我将密码设置为变量,以便我可以动态传递它(显然它不会总是'密码')。
mysql_password="password"
mysql -u ted -e "SET PASSWORD FOR 'ted'@'localhost' = PASSWORD($mysql_password);"
运行时出现以下错误:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password)' at line 1
声明有什么问题?可以纠正还是另一种解决方案可用,所以我通过Bash实现这一点?
答案 0 :(得分:2)
您需要用单引号括起变量:
mysql -u root -e "SET PASSWORD FOR 'ted'@'localhost' = PASSWORD('$mysql_password');"