MySQL: 故障排除

MySQL 常见问题及解决方案

👋 欢迎来到 Stackhero 文档!

Stackhero 提供了一种即用型 MySQL 云 解决方案,具有众多优势,包括:

  • 无限连接和传输。
  • 包含 phpMyAdmin 网络界面。
  • 只需点击即可轻松完成 更新
  • 通过 专用私有 VM 提供最佳 性能 和强大 安全性

节省时间简化生活:只需 5 分钟即可试用 Stackhero 的 MySQL 云托管 解决方案!

如果您在使用 phpMyAdmin 时遇到超时问题,可能是由于处理大量数据。由于 phpMyAdmin 运行在 PHP 上,它可能在处理长时间请求或大数据导出时遇到困难。对于更复杂的查询,您可以考虑使用 MySQL 命令行界面或非网页客户端。

MySQL 8 默认使用 caching_sha2_password 认证系统。当使用较旧的客户端库时,您可能会遇到错误:"Authentication plugin 'caching_sha2_password' cannot be loaded"。要解决此问题,您可以将默认认证方法修改为使用 MySQL 本地密码。

在您的 Stackhero 仪表板中,导航到 MySQL 配置部分并选择 "MySQL native password" 作为认证插件。此设置会影响 root 用户和所有新创建的用户。

对于现有用户(不包括 root 用户),您可以使用 MySQL 命令行界面或 phpMyAdmin 执行以下命令:

USE mysql;
ALTER USER '<userToUpdate>'@'%' IDENTIFIED WITH mysql_native_password BY '<userPassword>';
FLUSH PRIVILEGES;

如果您遇到错误 "ERROR 2026 (HY000): SSL connection error: unknown error number",通常表示您的客户端不支持现代 TLS 版本。Stackhero 的 MySQL 实例配置为仅支持最新的 TLS 协议和密码,以增强安全性。

如果您的客户端尝试使用 TLS v1.1,这个错误可能会发生,因为它已过时且不被现代 MySQL 和 MariaDB 版本支持。为了解决此问题,您可能需要升级您的 MySQL 客户端到支持最新 TLS 协议的版本。

如果您意外修改了权限、更改了密码或删除了 "root" 用户,您可以重启您的 MySQL 实例。这样做会自动重新创建 root 用户,并赋予正确的密码和权限。

当从 MySQL 表中删除数据时,其占用的磁盘空间不会立即回收。要回收此空间,您可以执行以下命令:

OPTIMIZE TABLE <table>;

此过程会创建一个临时表,将数据转移到其中,然后替换原始表。在优化过程中,表将被锁定并暂时不可用。锁定的持续时间和所需的总时间取决于表的大小。由于此操作资源密集,建议在服务器活动较低的时段进行,以尽量减少对性能和可用性的影响。