在MySQL中设置密码错误

时间:2015-04-25 14:49:59

标签: mysql

我正在尝试使用以下命令重置root密码:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('test');

它给了我以下错误:

  

错误1064(42000):您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   在' PASSWORD附近使用的语法(' test')'在第1行

请让我知道我在这里做错了什么。

2 个答案:

答案 0 :(得分:4)

您不需要引用用户名,它应该是

 let tableInfo = Array(db.prepare("PRAGMA table_info(users)"))
 if tableInfo.filter { col in col[1] == "name" } == nil {
    db.alter(table: users, add: name)
 }
 if tableInfo.filter { col in col[1] == "age" } == nil {
    db.alter(table: users, add: age)
 }

重新设置密码的另一种方法是 以root身份登录mysql,然后更新mysql> set password for root@'localhost' = password('test'); Query OK, 0 rows affected (0.00 sec) mysql> flush privileges ; Query OK, 0 rows affected (0.00 sec) 数据库mysql

User

答案 1 :(得分:0)

我知道它很旧,但是可以帮上忙。

使用PASSWORD()函数时出现此错误:

SET PASSWORD FOR 'myuser@localhost' = PASSWORD('my_new_password');
  

错误1064(42000):您的SQL语法有错误;检查手册       对应于您的MySQL服务器版本,以在附近使用正确的语法       第1行的“ PASSWORD('basket8')”

因为在MySQL 5.7和更高版本中,没有必要使用PASSWORD()函数:

SET PASSWORD FOR 'myuser'@'localhost' = 'my_new_password';
Query OK, 0 rows affected (0.01 sec)