腾讯云CVM数据库还原_启动与连接
数据库还原的排查流程:服务状态 → 端口监听(3306)→ 连接测试(mysql -u用户 -p)→ 错误日志 → 配置文件(my.cnf)→ 资源(磁盘/内存)。MySQL问题90% 是服务未启动、密码错、配置错、磁盘满,按流程查很快定位。
密码重置:忘记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管理与密码重置): ``` # 服务管理 systemctl status mysqld systemctl start mysqld systemctl restart mysqld systemctl enable mysqld
# 连接测试 mysql -u用户名 -p密码 -e "SHOW DATABASES;" mysql -u用户名 -p密码 -h 127.0.0.1 -P 3306
# 备份 mysqldump -u用户名 -p密码 库名 > backup.sql mysqldump -u用户名 -p密码 库名 | gzip > backup.sql.gz
# 还原 mysql -u用户名 -p密码 库名 < backup.sql gunzip < backup.sql.gz | mysql -u用户名 -p密码 库名
# 错误日志 tail -50 /var/log/mysqld.log tail -50 /www/server/data/$(hostname).err
# 慢查询 mysql -u root -p -e "SHOW VARIABLES LIKE 'slow_query%';" mysql -u root -p -e "SHOW PROCESSLIST;"
# 重置root密码 systemctl stop mysqld mysqld_safe --skip-grant-tables --skip-networking & mysql -u root -e "USE mysql; UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES;" systemctl restart mysqld ```
排查完用ping检测确认。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-26 21:18:19
上一篇:FTP列表为空550错误解决办法_FTP连接后列表为空教程详解