2018-01-01から1年間の記事一覧
こんなテーブルがありました CREATE TABLE `hogehoge` ( `hoge_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'HOGEID', ・・・(略)・・・ `hoge_text` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'ほげほげ', PRIMARY KEY (`hoge_id`), …
この日記は RDBMS GIS アドベントカレンダー2018の13日目向けに書きました。 昨日のノリで軽い記事ですが… ST_CONTAINS テーブル内に存在するPOINT型の地点に対し、特定の緯度経度の地点が存在するか確認するなら SELECT COUNT(*) FROM テーブル名 WHERE ST_…
この記事はMySQL Casual Advent Calendar 2018 13日目の記事です。 テーブル作成時 カラムの型を定義しますが、数字列に対して hoge_id` bigint(20) hoge_flag` tinyint(1) というようにカッコ()の中に数字を入れていると思いますが、この数字がそもそも省略…
この日記は RDBMS GIS アドベントカレンダー2018の12日目向けに書きました。 ST_DISTANCE() spatial関数で2点間の距離を返す関数がST_DISTANCE()だというのは知っている。 ST_DISTANCE() ところが、公式ドキュメントからは実際に登録されているテーブルの値…
このエントリーは MySQL Casual Advent Calendar 2018 の5日目の記事です。 そもそもMySQL Upgrade Checkerって? 今まではリリースノートを読んで、つぶさに問題点を洗い出して、現行のDB環境に問題が無いかを人手にチェックしていました。 それをMySQL5.7…
Rainbow CSVって? CSVファイルやTSVファイルをさまざまな色で強調表示し、 SQLのようなクエリを実行することができる Visual Studio Codeの拡張機能です。 https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv twitter上で見かけ…
この日記は RDBMS GIS アドベントカレンダー2018の3日目向けに書きました。 はじめに アドベントカレンダーが作られてて、お話を聞いて面白そうだと思って少し触った経緯もあり、 あらためて最新のMySQL8.0.13で触りなおしてみた際、ハマったことについて書…
REFERENCES権限 https://dev.mysql.com/doc/refman/5.6/ja/privileges-provided.html 僕はこれを見てすっかり誤認していました。 REFERENCES 権限は現在使用されていません。 あー、過去にはあったけど使ってないのね。じゃあ、いらないよね→REVOKE。 と。 …
先日に続き、mysql-casualから。 しかも今度は自分からの質問。 yoku0825さんが答えて下さったので、自分のほうで検証して確認してみようと。 その結果をここにアップしました。 1.ユニークキーって? UNIQUE 制約を使用して、主キーに関係しない特定の列…
大好きなクエリが流れなくて、アレ?と思ったのが始まり d.hatena.ne.jp のSH2さんの『ロック競合を表示するSQL』(以下参照) select t_b.trx_mysql_thread_id blocking_id, t_w.trx_mysql_thread_id requesting_id, p_b.HOST blocking_host, p_w.HOST reques…
元ネタはMySQL Casualのslack この辺以降 それを見て、 そういや自分も2年前(DB移行時)にこれ調べたなー 社内メンバーに改めてちゃんと周知しよう なんか記事書くか という軽い備忘録的な感じ。 ちなみに、揃えないとどうなるか? slackにもあったように、 …
mysqlにgroup_concatという便利な関数がある MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.19.1 GROUP BY (集約) 関数 を見てもらうと分かるが、group by で取得できる値を1つのカラムに連結して表示できる。 資料作ったりするのによく使う。 関数の中…
MySQL Workbenchのインストール MySQL :: MySQL Workbench のリンクから 画面に入って「ダウンロードはこちら」ボタンを押して の画面に遷移するので、「Download」ボタンを押す 画面でID持ってたらログイン、 持ってなくて単にダウンロードしたいだけなら「…
宅建受けました 今回はIT技術の話ではありません。 宅建士試験という試験を受けてきた話です。 実は3年連続で受けてて、今年をラストとして考えてました。 そして、自己採点では40点だったので、多分受かったかな。 (→12月6日に合格証が来たので正式に受かっ…
パラメータ確認時に落ちる 最近のMySQLはパラメータをオンラインで変更できるので、 SET GLOBAL パラメータ名=xxxx だとか SET パラメータ名=xxxx で変えている人も多いと思う。 でも、SHOW VARIABLES;で確認したときに変化が無くて、なんで変わらないんだ?…
今日もGIS関数の話は後回し・・・。 Error Code: 1064 以下のSQLを流したときに出たエラーです。 delete from 子テーブル A1 inner join 親テーブル A0 on A1.キーカラム = A0.キーカラム where 適当な条件 エラー文言は以下のような感じ Error Code: 1064. …
GIS関数について続きを書こうと思ってたけど、mysqlslapを使ったのでその使い方について軽くメモしとく。 mysqlslapとは mysqlslap は MySQL サーバーのクライアント負荷をエミュレートし、各段階のタイミングをレポートする診断プログラムです。 複数のクラ…
昨日これに行ってきました clubmysql.connpass.com 坂井さんによるGIS関数の話を聞けるということで、業務的にも地理データ少し使うんで、これが使えるともしかしたら面白いことできるかも?と思って行ってきました。 資料の内容についてはそちらを見てもら…
以下ハマったことを羅列 innodb_ft_enable_stopwordパラメータが、公式にはグローバルのみと書いてあるのに、グローバルをOFFにしてもパラメータがOFFにならない。 alter table spec_bukken_view Engine = InnoDB;を使えばインデックスの張り直しは不要だが…
昨日とあるイベントに参加して知ったコマンドperrorについて perrorとは? 公式(perror - エラーコードの説明)を参照 要するに、MySQLがエラーコードやエラー番号を出力するんだけど、そのエラーの意味がこのツールで分かりますというもの。 使い方 MySQL(ク…
順次追加していく予定 SHOWコマンド プロセス一覧 show processlist; MySQLパラメータ確認 SHOW VARIABLES [like 'パラメータ名']; パラメータ名に hostname と入れればホスト名が取得できるし、 buffer と入れるとメモリ関連、 dir と入れればディレクトリ…
これ、なんのエラー? ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 そもそもDBが立ち上がってないのなら全員これが出るだろうが、一部の接続だけがつながらないのであれば アクセス許…
バージョン MySQL5.7.22 カラム追加の場合 ALTER TABLE table_A ADD COLUMN ft_column1 varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'フルテキストカラム1', ADD COLUMN ft_column2 varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NUL…
必要なもの - FILE権限 - client に local-infile=1が必要 - mysqldにもlocal-infile=1が必要 三つ目のmysqldにもlocal-infile=1が必要がMySQL8.0での落とし穴 実は、MySQL5.7ではこいつがデフォルトONなのだが、8.0.2移行ではOFFになる。 デフォルトなもん…
Specified key was too long; max key length is 767 bytes インデックスを作る際に、型長×文字コードのサイズ >767 なカラムに作ろうとすると出る。 例えばこんな感じ CREATE TABLE `test` ( `COMMENT` varchar(192) NOT NULL DEFAULT '', KEY i_test_1 (`C…
MySQL5.7まではいけたGrant文でのCreate User MySQL5.5 Server version: 5.5.52 MySQL Community Server (GPL) ~ mysql> GRANT ALL ON nanigashi.* TO 'super_nanigashi'@'%' IDENTIFIED BY "super_nanigashi"; Query OK, 0 rows affected (0.01 sec) MySQL5…
どっちがおススメなんだろう? 社内のテーブルで管理しているID値は36桁の固定長で構成される文字列にしているんだが、そのカラムの型がvarcharで、 charにした場合、領域小さくなったり、INDEX使用時の検索が早くなったりしないだろうか?と思い調査 現行の…
そもそもキャッシュウォームとは? MySQLデータベースにはInnodb Buffer Pool(通称バッファプール) と呼ばれるメモリ上に確保された領域があります。 その領域にデータやインデックスがキャッシュされます。(対象はInnoDBテーブル) キャッシュはデータの初回…
最新のinnotopをインストール 環境はUbuntu16.04 $ sudo apt-get install mysql-client $ dpkg -S /usr/bin/innotop 非常に簡単。さあ、使おうと思ったら・・・。 $ innotop -u root -p -h host名 -P ポート番号 PROCESSLIST: Redundant argument in sprintf…