数据库_数据库忘记密码排查
很多站长遇到数据库忘记密码就重装数据库,数据全丢。数据库问题大多是配置或权限问题,不需要重装。先备份数据(mysqldump),再排查。重装只在数据文件严重损坏且无备份时考虑,且要先抢救数据。
MySQL 服务管理:systemctl start mysqld 启动、systemctl stop mysqld 停止、systemctl restart mysqld 重启、systemctl status mysqld 状态、systemctl enable mysqld 开机自启。启动失败看 /var/log/mysqld.log 或 /var/log/mariadb/mariadb.log,常见原因是配置文件语法错、磁盘满、端口被占、innodb 损坏。
参考(MySQL重置root密码): ``` # 1. 停止MySQL systemctl stop mysqld
# 2. 跳过权限启动 mysqld_safe --skip-grant-tables --skip-networking &
# 3. 无密码登录 mysql -u root
# 4. MySQL 5.7 USE mysql; UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; EXIT;
# 5. MySQL 8.0 USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; EXIT;
# 6. 重启服务 systemctl restart mysqld ```
数据库安全:root 只允许 localhost 登录;应用账号只给必要权限(SELECT/INSERT/UPDATE/DELETE),不给 DROP/ALTER;定期备份;开启审计日志;phpMyAdmin 改路径 + IP 白名单;数据库端口不对外暴露。数据库被拖库是最严重的安全事故。
MySQL 常见错误速查:ERROR 1045 (28000) 密码错或权限错;ERROR 2002 (HY000) 服务未启动或 socket 错;ERROR 1049 (42000) 数据库不存在;ERROR 1146 (42S02) 表不存在(表前缀错);ERROR 1064 (42000) SQL 语法错;ERROR 2003端口或防火墙;ERROR 1205锁等待超时。

更新时间:2026-08-26 20:52:19
上一篇:IIS脚本映射500错误解决方法_IIS脚本映射伪静态教程详解