web-dev-qa-db-ja.com

RDS MySQL 8.0.16には空の「INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS」テーブルがあります

Aws RDSでは、mysql 8.0.16インスタンスを実行しています。私の問題は、INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMSテーブルが空であることです。

次の表を作成したいので、これは私にとって問題です。

CREATE TABLE my_table
(
    ...
    coordinates            POINT         NOT NULL SRID 4326
    ...
);

しかし、これはThere's no spatial reference system with SRID 4326というエラーメッセージにつながります。

何が起きてる?なぜテーブルが空なのですか? SRID 4326のエントリが少なくとも1つ含まれていると思います。

3
Jonas Taulien

RDSの新しいMySQL v8.0.16イメージ(これを書いている時点)には、SRID 0以外の空間参照がありません。

回避策として、v8.0.15で新しいインスタンスを作成してから、マイナーアップグレードを実行できます(再起動が必要です)。

select count(*) from INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS

...戻り値:

 5152
1
kwalski

RDS上のMySQL 8.0.16でもこの問題に遭遇しました。自分のサーバーで実行しているMySQLインスタンスでは、不足しているリファレンスシステムを自分で追加することもできますが、これにはRDSでは使用できないSUPERアクセスが必要です。

結局、AWSコンソール経由でAWSサポートに連絡したところ、欠落したSRIDを追加してくれました。これは、新しいインスタンスを作成し、アップグレードし、データをコピーし、新しいデータベースを指すようにアプリを更新するよりもはるかに簡単です。私は開発者レベルのサポート計画を持っていたので、彼らが皆のためにこれをしないだろう可能性があります。

1
Joshua Dwire

これは本当に問題であることがAWSサポートから確認されました。

AWS担当者からの回避策は次のとおりです(kwalskiでも言及されています):

> Launched new MYSQL instance with version 8.0.16 --> Spatial reference  missing
> Upgraded the problematic 8.0.16 instance to 8.0.17 --> Around 5152 spatial reference exist now.
> Launched new MYSQL instance with version 8.0.17 --> Spatial reference  missing

The issue exist in newly  launched 8.0.16 and also in newly launched 8.0.17 instance.
But upgrading the instance from 8.0.16(problematic) to 8.0.17 can help to overcome the issue but this requires downtime.
0
SJ00