2019-01-01から1年間の記事一覧
yoku0825さんが、CentOS8 で MySQL 8.0 をビルドする記事を書いていました。 CentOS8でもビルドするために、あれこれインストールしないといけないようです。 yoku0825.blogspot.com CentOS7インストール直後の状態では色々足りない 最近のMySQLはビルドに最…
TL; DR; *IDENTIFIED*:*PASSWORD* にマッチしたクエリ、つまりパスワードを含むクエリはヒストリーに記録されない 環境変数 MYSQL_HISTIGNORE で記録しないクエリを追加指定できる ヒストリーに記録されない時がある mysql コマンド には履歴機能があります…
InnoDB FTS シリーズが続きます。今回は innodb_ft_enable_stopword についてです。 mita2db.hateblo.jp mita2db.hateblo.jp TL; DR ngram で、yakitori がヒットしない mysql> SELECT * FROM fts_ngram; +----+----------+ | id | c1 | +----+----------+ |…
このエントリーはMySQL Casual Advent Calendar 2019 の7日目です。 実は、毎年 12 /7 日書いてます。 mita2db.hateblo.jp mita2db.hateblo.jp -- 昨日は、@SHINOHARATTT さんでした。 ポケモンを題材にして論理設計を学ぶ というエントリーでした。楽しく学…
ngram_token_size パラメータは InnoDB FTS の ngram パーサーの設定です。ngram_token_size に指定した文字数ごとに文章をトークナイズします。 疑問 ngram_token_size をインデックス作成後から変更すると、どうなるのか? あり得るパターン CREATE INDEX …
先日書いたエントリーについて、 mita2db.hateblo.jp MySQL Weekly で tom__bo さんから頂いた、感想へのフィードバック(と補足)です。 mysql-weekly.hatenablog.com 僕がやりたかったこと 接続あふれしている時でも、DBAは管理者アカウントで接続できるよ…
以前、接続が溢れているとき(too many connectionsエラー発生時)でも接続可能にする Administrative Network Interface(管理NW IF) の概要をブログに書きました。この時は、特権アカウントの接続元との関連は書かなかったのですが、特権アカウントの接続…
はてなブログに引っ越して、初めての記事です。 先日、MyNA 忘年LT大会に参加してきました。 keny_lala さんが、MySQL クイズやったりしてて、面白かったです。 sakaik さん、企画ありがとうございます。来年もよろしくお願いします! sakaik.hateblo.jp 自…
諸事情あって、blogger から はてなブログに引越ししました。 MySQL Geek な人たち、はてなブログ民が多い! tmtms.hatenablog.com sakaik.hateblo.jp tombo2.hatenablog.com next4us-ti.hatenablog.com blog.kamipo.net sh2.hatenablog.jp rkajiyama.hatena…
昨日記事では core ファイルを圧縮する方法を紹介しました。 昨日の記事では、OSの機能(kernel.core_pattern)を使って対応する方法を紹介しました。 mita2db.hateblo.jp MySQL 8.0からは、MySQLの機能(設定)を利用して、巨大なcoreファイルを抑制するこ…
約1ヶ月ぶりのブログです。--core ファイルとはプロセスのメモリを丸ごとファイルにダンプしたものです。core ファイルをgdb等のデバッガで解析することで、プロセスが落ちた原因を探ることができます。MySQL では以下のように設定することで、mysqldが落ち…
前回の記事ではdefault_table_encryption パラメータについて触れました。 default_table_encryptionでは、ENCRYPTION句を省略した場合の挙動を制御することができます。今回は、table_encryption_privilege_check パラメータについて確認してみます。 この…
MySQL Casual Talks vol.12 で発表してきた。 MySQLの容量とか圧縮まわり from Satoshi Mitani MySQLに入れるとしたらどれぐらいの容量が目安かアンケートしたりしてみました。 結果は、結構ばらけました。。。もうちょっと傾向が出ることを期待してたのです…
MySQL 8.0 で default_table_encryption パラメータが追加されてました。「テーブルの暗号化をデフォルトで有効にするオプションかな?」と思って、CREATE TABLEしてみるも変わらず・・・マニュアル見ると、データベースとテーブルスペースに効くと書いてあ…
前回の、MySQL Technology Cafe #4 に続き、#5 に参加してきました。タイムテーブル 時間内容登壇者18:00-18:25受付-18:25-18:30はじめにMySQL GBU18:30-19:15MySQL 8.0 の便利機能とSQL標準MySQL テクニカルアナリスト 木村明治 氏19:30-19:40MySQL Binlog …
プロシージャの中身のクエリはスロークエリログに落ちない の続き。Vanilla MySQLだとプロシージャの中身がログに落ちませんが、Percona Server ではスロークエリログが拡張されていて、ログに落ちます。log_slow_sp_statements で出力の有無を設定します。…
とあるMySQLのデータベースで、性能劣化した疑いのあるプロシージャがありました。プロシージャには複数のSELECTやINSERTが含まれています。どのSQLが遅かったか突き止める方法はあるのでしょうか?プロシージャに含まれている、各SQLはスロークエリログに落…
あるクエリがperformance_schemaに記録されなかった。原因を調べていて1つ記録されない条件を見つけたのでメモ。まず、問題ないパターン。mysql> SELECT NOW();+---------------------+| NOW() |+---------------------+| 2019-07-30 10:40:47 |+----------…
8.0.16でCHECK制約がサポートされました。CHECK制約については、「yoku0825さんのブログ」や「MySQL Server teamのブログ」で詳しく解説されてます。さて、「8.0.16でCHECK制約を設定したテーブルをCHECK制約に対応していない8.0.15で操作したらどうなるだろ…
MySQL Technology Cafe #4 に参加してきました。State of the Dolphin - What's new in MySQLOracleのプリセールスのえらい人、Philipさんによる、MySQL 8の新機能のオーバビューでした。Document Store、Build in HA / InnoDB Cluster、GISの改良、InnoDB D…
RESOURCE GROUPはざっくり言うと、セッションごとに利用できるCPUを制限したり固定できる機能です。以前、試した記事はこちら。意図せず、CPUリソースを制限されてしまうことのないよう、RESOURCE GROUPと権限の関係を調べてみました。結論RESOURCE GROUPを…
MySQL 8.0.14 から DB管理者用 に追加でネットワークインタフェースを設けることができるようになりました。このように、接続あふれを起こしているときでも、管理者用IFであれば接続できます。$ mysql -P3306 -uroot -pPass%word123 -h db01ERROR 1040 (HY00…
mysql_config_editor は ログイン情報を管理するためのコマンドです。~/.mylogin.cnf に難読化されたIDやパスワード、接続先の情報が記録されます。$ strings .mylogin.cnf#Xu*|難読化されているので、中身を確認するには、my_print_defaults コマンドで表示…
MySQL 8.0.14でLATERAL句がサポートされました。一瞬、LITERALに空目しましたが、LATERAL(側面)でした。LATERAL句を試してみます。サンプルとしてこのようなテーブルを扱います。従業員の一覧(employees)と、各従業員の特定の期間の月額給与(salaries)…
プロシージャでDEFINERを指定して作成すると、Hostの覧が%になる。以下詳細。まず、通常のケース。Id 37のセッションは正しく root が localhost から接続していると表示される。mysql> SELECT CONNECTION_ID( );+------------------+| CONNECTION_ID( ) |+-…
mysql コマンドは -e で実行するSQLを指定できる。セミコロンで区切れば複数のSQLを同時に実行することもできる。$ mysql -e 'select 1; select 2'+---+| 1 |+---+| 1 |+---++---+| 2 |+---+| 2 |+---+-e を複数指定して、これでもいける。複数行に分けて書…
mysqldumpの --extended-insert オプションを利用すると、出力されるINSERT文がバルクINSERTの形式になる。まとめてINSERTすることで、書き込み回数を減らし、importにかかる時間を短縮するための仕組み。どこまで長いINSERT文が生成されるんだろうか?まさ…