3101 件中 621 - 630 件を表示
« 前の 10 件 | 次の 10 件 »
MySQL の クッキーを焼いた

クッキーを焼く

MySQL クッキーを焼いた話です。技術的な話は出てきませんw

Anycubic i3 Mega 3D プリンター 高精度 大きい プリンタサイズ 構造物取り易いヒートベッド (ブラック)

  • メディア:

年末年始は、3D プリンタで遊んでました。 3Dプリンタ扱うのは初めてです。試しに、MySQLのイルカのロゴ(Sakila)のクッキー型を作りました。

[さらに読む]
MySQL テストコードを書いてみる

先日、MySQLをソースからビルドする方法を書きました。今日はテストコードについてのエントリーです。 mita2db.hateblo.jp

MySQL のテストコード

mysql-test/suite ディレクトリ以下にテストコードが記述されています。 5800以上のテストが記述されています。

$ find ~/mysql-8.0.18/mysql-test/suite/ -type f -name '*.test' | wc -l
5854

MySQL 8.0 でも 500以上のテストが追加されたとアピールされてます(スライド11ページ)。 …

[さらに読む]
MySQLのSRID()でSRID変換する際にaxis-orderで悩んだ話

訳あって、MySQLで「GEOMETRY型のカラムに、いったん SRID=0で登録したあと、一気に正しいSRIDに変換する」ということをやろうとしたところ、思惑通りにいかず随分悩んだので、整理しておきます。

やろうとしたこととエラー発生

 ここではシンプルな例に置き換えた再現実験で紹介します。

 まず、GEOMETRY型を入れられるテーブルを作りデータを1件登録します。

CREATE TABLE g1 (g GEOMETRY);
INSERT INTO  g1 VALUES (ST_GeomFromText("POINT(35 135)"));

 SRIDを指定していないので、SRID=0で登録されています。axis-orderは lat-long です(というか、そうなっていることを期待して登録しました)。登録された内容を確認してみます。

mysql> SELECT …
[さらに読む]
Twitterの過去のツイート履歴をMySQLに取り込む in 2019

TL;DR

  • 過去のツイート履歴がCSVからJSに変わったっぽい
  • でも大丈夫、俺達には JSON_TABLE関数 があるから

かつてはCSVだったツイート履歴、最近ダウンロードしてみたらJSファイルになっていた。しかもでかい。

$ mkdir work
$ cd work
$ unzip ../twitter-2019-12-20-ce0bbf92f327035a47c135f037e0568f6166df65f5f1011bc9d0bc2b6b9b6c3f.zip
..

$ du -sh .
239M .

$ ll -h tweet.js
-rwxrwxrwx 1 yoku0825 yoku0825 47M Dec 20 09:00 tweet.js

しかもこのJS、よしなにpretty printされていてグレッパビリティが悪い。

$ head tweet.js
window.YTD.tweet.part0 = [ {
"retweeted" : false,
"source" : "<a href=\"https://mobile.twitter.com\" …
[さらに読む]
Update for last week (2019-12-16~ 2019-12-22)

MySQL Weeklyでは1週間ごとにMySQLのrelease-note, bug, official blog, organizationによるblog, 個人のblogをまとめ紹介しています。
更新は月曜 10時(AM)です。先週一週間のMySQL関連の更新を再確認するのにご活用ください。

また、このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)

Release note

( …

[さらに読む]
CentOS7 で MySQL 8.0 をソースからビルドする

yoku0825さんが、CentOS8 で MySQL 8.0 をビルドする記事を書いていました。 CentOS8でもビルドするために、あれこれインストールしないといけないようです。

yoku0825.blogspot.com

CentOS7インストール直後の状態では色々足りない

最近のMySQLはビルドに最新の開発ツール(cmakeやgcc)を要求してきます。 EPEL等の追加のリポジトリから、色々インストールしなければビルドできません。

[さらに読む]
" _ " or " % " - Which is faster? (Like predicate in MySQL's sql)

MySQL Advent Calendar 2019 の22日目です。

MySQLのあいまい検索時のLIKEで使える「_」と「%」について調べてみました。

あいまい検索時に使う「_」と「%」

会社でlike 検索した際に「_」と「%」で速度差ってあるのかな?という話になり、

こういうの調べたことある人って世の中に結構いるんじゃない?と調べてみたんですが、なかなか出てこないので自分で調べてみました

検証について

  • カラムはとりあえず文字列としました
  • セカンダリインデックスの有無とNULLの有無で比較
[さらに読む]
MySQL ヒストリーに記録されない条件

TL; DR;

  • *IDENTIFIED*:*PASSWORD* にマッチしたクエリ、つまりパスワードを含むクエリはヒストリーに記録されない
  • 環境変数 MYSQL_HISTIGNORE で記録しないクエリを追加指定できる

ヒストリーに記録されない時がある

mysql コマンド には履歴機能があります。 Linuxのシェルのように、過去に実行したSQLを上の矢印キーで遡ったり、Ctrl-R でキーワード検索することが出来ます。

時々、ヒストリーに記録されない …

[さらに読む]
MySQLのDROP DATABASEでWARNINGが表示されない事象

 DROP DATABASE IF EXISTS ... で存在しないデータベースをドロップしようとしたときに、WARNING が表示されない事象があったので紹介します。

IF EXISTS (テーブルの場合)

 MySQLDROP文には "IF EXISTS" というオプションがあり、たとえばテーブルの場合は、以下のように使います。

mysql> use test
mysql> DROP TABLE IF EXISTS mytable999;                                                                                             
Query OK, 0 rows affected, 1 warning (0.02 sec)

 mytable999 というテーブルは存在しませんが、IF EXISTS 句のおかげでエラーにはならず正常終了しています。

[さらに読む]
MySQLのprocesslistをgrep して killする myps コマンド

なんらかの理由で MySQLにクソ重いクエリがたくさん流れてしまった場合、SHOW PROCESSLISTをみて、クエリをKILLするなんてことは、あったりなかったりします。

この時にクエリが数十個となると、手作業ではやりきれませんので、コマンドを駆使して対応することになります。

ちょっと前にやったのが以下のコマンド

/usr/bin/mysql --defaults-extra-file=/path/to/.my-other.cnf -NB -e 'SELECT GROUP_CONCAT(ID) FROM \
information_schema.PROCESSLIST WHERE STATE = "Creating sort index" AND TIME > 1000 AND INFO \
LIKE "select%example%"' | grep -v NULL | /usr/bin/xargs -r /usr/bin/mysqladmin --defaults-extra-file=/path/to/.my-other.cnff kill

mysqladmin killは複数個のidを受け取れるのでGROUP_CONCATが使うのがおしゃれですね

[さらに読む]
3101 件中 621 - 630 件を表示
« 前の 10 件 | 次の 10 件 »