MySQL: トラブルシューティング

MySQLの一般的な問題と解決策

👋 Stackhero ドキュメントへようこそ!

Stackhero では、運用負荷を大幅に軽減するフルマネージドの MySQL クラウド サービスを提供しています。本番環境向けのワークロードにも最適です:

  • 無制限の接続数とデータ転送。
  • データベース管理を容易にする統合型の phpMyAdmin Web インターフェース。
  • ワンクリックで簡単に行える アップデート
  • プライベートかつ専用インフラ上での安定した パフォーマンスと強固な セキュリティ

Stackhero なら、信頼性の高い MySQL データベースを数分でご利用開始いただけます。セットアップやメンテナンスにかかる時間を削減し、アプリケーション開発に集中できます。ぜひ Stackhero の MySQL クラウドホスティング をお試しください。

phpMyAdminを使用中にタイムアウトが発生する場合、大量のデータを処理している可能性があります。phpMyAdminはPHP上で動作するため、長時間のリクエストや大規模なデータのエクスポートに苦労することがあります。より複雑なクエリを管理するには、MySQLのコマンドラインインターフェースや非Webベースのクライアントを使用することを検討してください。

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バージョンではサポートされていません。この問題を解決するには、最新のTLSプロトコルをサポートするバージョンにMySQLクライアントをアップグレードする必要があるかもしれません。

誤って権限を変更したり、パスワードを変更したり、"root"ユーザーを削除した場合、MySQLインスタンスを再起動することで、正しいパスワードと権限でrootユーザーが自動的に再作成されます。

MySQLテーブルからデータが削除されると、その占有していたディスクスペースはすぐには回収されません。このスペースを回収するには、次のコマンドを実行できます。

OPTIMIZE TABLE <table>;

このプロセスでは、一時テーブルを作成し、データをそこに転送してから元のテーブルを置き換えます。最適化プロセス中はテーブルがロックされ、一時的に使用できなくなります。このロックの期間と全体の所要時間はテーブルのサイズに依存します。この操作はリソースを多く消費するため、サーバーの活動が少ない時間帯にスケジュールすることをお勧めします。