Mysql报错记录

本文介绍了解决MySQL登录时遇到的密码错误问题的具体步骤,包括如何跳过密码验证登陆MySQL,以及如何修改密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO


很直观的错误,"root"帐号密码错误(有时密码正确也会报这个错),直接改密码即可
①跳过密码验证登陆MySql
先停止MySql服务

图片.png

tasklist |findstr mysqld 确认已经停止
taskkill /F /PID xxxx 如果还在运行,用该代码终止
图片.png
执行下面代码跳过密码验证,执行代码之后cmd会阻塞,直接关闭当前cmd,重新打开一个
图片.png

 

②密码修改(本人使用的MySql是5.7版,有些版本的密码字段名不同)
跳过密码验证之后直接使用mysql登陆

图片.png

select * from mysql.user\G;查询帐号信息(5.7版本密码字段是authentication_string)

图片.png

修改密码:update mysql.user set authentication_string=password('密码') where user = '帐号';
数据库刷新:flush privileges
图片.png

重启一下MySql服务

 


Access denied for user ' '@'localhost' (using password: NO)

 

与上一个ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO错误很像,但是没有root,配置错误

server:
  port: 9001
spring:
  application:
    name: study-base
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test2?characterEncoding=utf-8
    //data-username: root
    //data-password: root
    //修改
    username: root
    password: root
  jpa:
    database: mysql
    show-sql: true
    generate-ddl: true

 


The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

 

jdbc:mysql://localhost:3306/test2
修改
jdbc:mysql://localhost:3306/test2?serverTimezone=UTC

 

### MySQL 注入错误解决方案 在处理 MySQL 报错注入问题时,通常需要关注以下几个方面: #### 数据验证与清理 为了防止 SQL 注入攻击,应始终对用户输入的数据进行严格的验证和清理。可以使用参数化查询来确保传入的变量不会被解释为 SQL 语句的一部分[^1]。 ```javascript var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'node_mysql_test' }); connection.connect(); // 使用 ? 占位符代替字符串拼接 var userId = 'someUserInput'; var queryStr = 'SELECT * FROM users WHERE id = ?'; connection.query(queryStr, [userId], function(error, results, fields){ if (error) throw error; }); ``` 上述代码通过 `?` 占位符传递参数,从而有效避免了潜在的 SQL 注入风险[^2]。 #### 设置合适的数据库权限 减少不必要的高权限分配给应用程序使用的账户也是防范措施之一。例如,在创建用于 Node.js 应用程序访问的数据库时,仅授予所需的最低限操作权限[^3]: ```sql CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, INSERT ON node_mysql_test.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES; ``` 这样即使发生注入行为,恶意脚本也无法执行破坏性的命令如删除表或修改其他用户的记录等。 #### 版本兼容性考虑 如果遇到特定版本PHP中的函数不再支持的情况,则可能需要回滚到较旧但仍受支持的 PHP 版本来维持现有功能正常运行[^4]。然而对于现代开发环境而言,更推荐升级依赖库并调整相应语法以适配最新标准而不是降级整个平台。 另外值得注意的是,虽然这里讨论的重点是如何解决基于错误消息反馈机制下的SQL注入漏洞利用方法,但从长远来看加强整体安全策略才是根本之道——这包括但不限于定期更新软件栈组件、采用Web应用防火墙(WAF)过滤异常请求流量以及实施全面的日志审计制度等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值