この日記は、 RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の14日目ぶんとして後から書いているものです。 この日記は QGISという GISの専用ツールがあります。 QGIS が何かについては私も語るほど整理できた情報を持っていないので、とにかく地理情報(緯度経度等の情報)のデータを、表示したり色々したりできるツールです(雑な説明)。 この、QGISからMySQLにアクセスし、MySQLのデータを表示する試みを紹介します。本日記ではとりあえず、Windows上で MySQLに接続して、テーブルまるごと表示するところまでです。 概要 実は…
先日、Windows 10 上であっさりと mysql.exe が落ちる事象について書きました。 sakaik.hateblo.jp早速、yoku0825 さんがバグ報告を上げてくださったので、対応されるのが楽しみです。 bugs.mysql.com あとは本家の対応待ちでも良いのですが、あまりにも落ち方が潔かったので、ちょっと覗いてみたくなったので、やってみました。この日記は、Windows 10 上での mysql command line client (mysql CLC)のデバッグ環境のつくりかたのメモです。私のPCには一応、Visual Studio Community 2019 …
先日の日記を書くために色々試している最中、あまりにも潔く mysql クライアントコマンドがさくっと落ちるので、発生条件を調べてみました。原因の特定には至っていません。 起こっていること Windows 10 のMySQLにて、mysql> プロンプトが出ているところで、単純なSELECT文を叩くと、無言で mysql があっさり落ちる。 mysql> SELECT * FROM n03_20_200101 WHERE RECID 使用データ 先日の日記に書いた方法で取り込んだ「全国」のデータ(千葉県ではなく全国)の入ったテーブルを使って再現させることができます。ふつうに b…
この日記は、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020 の7日目ぶん(あいていたので後から埋めてます)の記事です。 この日記は 世の中の地理情報データ(位置の情報を含んだデータ)には、shapefile というファイル形式で公開されているものが非常にたくさんあります。この日記では、shapefileのデータをMySQL に取り込む方法として、私が開発している shp2sql というツールを紹介します。 shp2sql の入手 shp2sql は単一の Python スクリプトです。github にて公開しています。以下のURLから sh…
はじめに
こないだのAdvent Calendar用の記事で適応ハッシュインデックス(AHI)について少し書いたんだけど、今日はそもそもそれってどうやって使ったり見たりするの?って話です。
適応ハッシュインデックスとは?(おさらい)
[さらに読む]このエントリーは MySQL Advent Calendar 2020 の 12/20 のエントリーです。
問題を再現させるためにバイナリログが必要
MySQL は OSS です。誰でも無料で自由に使うことができます。
一方、Oracle や Percona といったデータベースを専門とする会社にお願いして、有償サポートを受けることも可能です。有償サポートはその道のプロフェッショナルの方が、問題解決にあたってくれるわけですが、彼らも魔法使いではありません。 問題の再現性がなければ、有効な回答がもらえないことがあります。
…
[さらに読む]
MySQL 8.0.21が来た! その1:
ユーザにコメントや属性をつけれるようになった
本エントリはMySQL Advent Calendar 2020 の19日目です
今年の夏(2020-07-13)にMySQL 8.0.xのメンテナンスリリースである8.0.21が出ました。
(その後8.0.22がリリースされ、それが最新版です)
多くの機能が追加されました。そのうち有用なものは以下のブログなどご参照ください。
MySQL 8.0.21 では Multi-Table Trick
が必要なくなったらしい
…
タイトルを見てピンと来ない人も多いと思いますが、MySQLで、「use DB名」してデフォルトデータベースを一度指定すると、もう、何も指定していない状態には戻れないようですというお話です(ようです、というのは、私が方法を知らないだけかもしれないということ)。MySQLに、デフォルトデータベース(以下デフォルトDB)を指定せずに接続した直後は、 mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | NULL | +------------+ となっています。デフォルトDBを指定していないのだから当然ですよ…