Mysql修改root密码 You have an error in your SQL syntax:

Mysql执行修改密码语句:报错

    '> ALTER USER ‘root'@‘localhost' IDENTIFIED WITH mysql_native_password BY
‘123456';);
ERROR 1064 (42000): 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 ''@‘l
ocalhost' IDENTIFIED WITH mysql_native_password BY ‘123456';

原因:语法上的错误,在MySQL中,为了区分MySQL的关键字与普通字符,MySQL引入了一个反引号“`”。 
详情见:https://dev.mysql.com/doc/refman/5.5/en/keywords.html

在上述的sql语句中,‘root'@‘localhost'使用的是单引号而不是反引号,所以会就报了这个错误出来。修改后

ALTER USER `root`@`localhost` IDENTIFIED WITH mysql_native_password BY '1
23456';

mysql> ALTER USER `root`@`localhost` IDENTIFIED WITH mysql_native_password BY '1
23456';
Query OK, 0 rows affected (0.00 sec)

密码修改成功了。

mysql中出现 `> 时,Ctrl+C即可退出。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用[1]和引用[2]中提到的错误`java.sql.SQLSyntaxErrorException`是由于SQL语法错误引起的。这个错误通常发生在执行SQL查询或更新时,SQL语句的语法不正确。要解决这个问题,你可以按照以下步骤进行操作: 1. 检查SQL语句:仔细检查你的SQL语句,确保语法正确。特别注意SQL关键字、表名、列名和操作符的拼写和使用是否正确。 2. 检查引号:如果你在SQL语句中使用了引号,确保引号的使用正确。字符串值应该用单引号或双引号括起来,而不是反引号。 3. 检查分号:确保在SQL语句的末尾使用了分号作为语句的结束符。 4. 使用参数化查询:如果你的SQL语句包含用户输入的值,建议使用参数化查询来避免SQL注入攻击,并确保输入的值正确地转义。 下面是一个示例,演示了如何处理`java.sql.SQLSyntaxErrorException`错误: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class SQLSyntaxErrorExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "password"; String sql = "SELECT * FROM mytable WHERE id = ?"; try (Connection conn = DriverManager.getConnection(url, username, password); PreparedStatement stmt = conn.prepareStatement(sql)) { // 设置参数 stmt.setInt(1, 1); // 执行查询 // ... } catch (SQLException e) { System.out.println("SQL语法错误:" + e.getMessage()); } } } ``` 这个示例中,我们使用了参数化查询来避免SQL注入攻击,并在捕获`java.sql.SQLSyntaxErrorException`错误时输出错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值