数据库_数据库语法错误排查
新网虚拟主机网站报数据库语法错误,先确认数据库服务是否启动。MySQL/MariaDB 服务没启动,所有依赖数据库的网站都会报连接错误。数据库语法错误时 systemctl status mysqld(或 mariadb)看状态,没启动就 start,启动失败看错误日志。
密码重置:忘记 MySQL root 密码,停服务 → mysqld_safe --skip-grant-tables & 启动 → mysql -u root 无密码登录 → UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; → FLUSH PRIVILEGES; → 重启服务。MySQL 5.7和8.0语法略有不同。
参考(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 ```
排查完用 netstat 端口检测确认。修复后 mysql -u用户 -p -e "show databases;" 能列出库,网站能正常访问数据库功能(登录、文章列表)。慢查询日志看是否有优化空间,连接数看是否在合理范围。
字符集问题:数据库、表、列、连接都要用 utf8mb4(支持 emoji)。my.cnf 里 [mysqld] character-set-server=utf8mb4、[client] default-character-set=utf8mb4。连接时 SET NAMES utf8mb4。字符集不一致导致中文乱码或 emoji 存不进去。

更新时间:2026-08-27 10:28:24
上一篇:phpMyAdmin导入数据库失败?phpmyadmin导入数据库失败解决,一键解决