MySQL磁盘满_备份与密码重置
MySQL磁盘满时分清是服务问题还是账号权限问题。所有用户都连不上是服务问题(没启动/端口错/防火墙);只有特定用户连不上是账号权限问题(密码错/主机限制/权限不足)。用root测试区分。
密码重置:忘记root密码,停服务 → mysqld_safe --skip-grant-tables --skip-networking & → mysql -u root无密码登录 → MySQL 5.7: UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; → MySQL 8.0: ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; → 重启服务。
参考(MySQL配置与性能): ``` # my.cnf 配置 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=500 innodb_buffer_pool_size=1G innodb_log_file_size=256M slow_query_log=1 slow_query_log_file=/var/log/mysql-slow.log long_query_time=2 bind-address=127.0.0.1
# 远程连接授权 mysql -u root -p GRANT ALL PRIVILEGES ON 库名.* TO '用户'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES;
# 表修复 mysql -u root -p -e "REPAIR TABLE 库名.表名;" mysqlcheck -u root -p --auto-repair --all-databases
# 查看表大小 mysql -u root -p -e "SELECT table_name, round(((data_length + index_length) / 1024 / 1024), 2) AS size_mb FROM information_schema.TABLES WHERE table_schema='库名' ORDER BY size_mb DESC;" ```
排查完用浏览器访问验证确认。mysql -u用户 -p -e "show databases;" 能列出库,网站数据库功能正常。慢查询日志看是否有优化空间。连接数在合理范围。备份能正常还原。
MySQL错误码速查:ERROR 1045 (28000) 密码错或权限错;ERROR 2002 (HY000) 服务未启动或socket错;ERROR 2003 (HY000) 端口或防火墙;ERROR 1049 (42000) 数据库不存在;ERROR 1146 (42S02) 表不存在(表前缀错);ERROR 1064 (42000) SQL语法错;ERROR 1205锁等待超时;ERROR 1040连接数超限;ERROR 2013查询过程中连接丢失。

更新时间:2026-08-27 11:41:42
上一篇:宝塔面板端口范围说明_完整解决方案_防火墙与安全组_2024最新