1969 件中 461 - 470 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: MySQL (reset)
MySQLとの戯れ:カラムの別名とグルーピングの動作について

 この日記は、少し時間が取れるようになった私が自由気ままにMySQLと戯れた結果を、つらつらと書き殴ったものです。明確な目的もなく、ただただMySQLと会話をして(そう、MySQLには「対話モード」があるのですよ)、楽しかったぁ、という日記です:-)

 今回は、MySQLのカラムの別名について遊んでみました。特に結論はなく、こういう動きをするのかぁという読み物として見ていただければと思います。原理や内部構造の追加解説は歓迎します。

準備と基本事項の確認

[さらに読む]
MySQLのLAG()とかLEAD()に ERROR 1690 (22003): BIGINT UNSIGNED value is out of range と言われたら

TL;DR

  • sql_modeNO_UNSIGNED_SUBTRACTION を追加してから実行する

たとえば、 performance_schema.events_statements_summary_by_digest の結果を延々とため込んでいるようなテーブルがあるとするじゃろ? sum_rows_examined は累計値なので、グラフにする時なぞは前回との差分を取りたくなるので、MySQL 8.0からようやく使えるようになった LAG なぞ使うではないか。

mysql> WITH base AS
-> (
-> SELECT
-> digest,
-> sum_rows_examined - LAG(sum_rows_examined) OVER w AS diff_exam,
-> last_update,
-> …
[さらに読む]
my.cnfの plugin_load の記法

TL;DR

  • INSTALL PLUGIN a SONAME 'b.so'plugin_load= a=b.so と書く
  • 複数つなげる時は ; で区切る、 plugin_load=rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so みたいに

…言いたいことは全部書いてしまった気がするので、ドキュメントを読んでつらつらと。 MySQL :: MySQL 8.0 Reference Manual :: 5.6.1 Installing and Uninstalling Plugins plugin_load_add は使ったことなかったけど、 ; で複数区切りを「したくない」時に後ろに書けるらしい。 地味にMySQL 5.6.3の新機能だった らしい。知らなかった。 …

[さらに読む]
MySQL 各インデックスごとの容量を確認する

お題

  • 不要そうなインデックスを削除して、どれぐらい容量が減るのか確認したい
  • information_schema.tablesINDEX_LENGTH では合計容量しか見えない
mysql> SELECT TABLE_NAME, TABLE_ROWS, DATA_LENGTH, INDEX_LENGTH 
  FROM information_schema.tables WHERE TABLE_NAME = 'sbtest1' \G
*************************** 1. row ***************************
TABLE_NAME< TABLE_ROWS: 1
           DATA_LENGTH: 225132544
          INDEX_LENGTH: 85295104
1 row in set, 1 warning (0.00 sec)
  • 複数のインデックスの合計サイズではなく、個別のインデックスのサイズが知りたい

innodb_index_stats テーブルを見る

v5.6 で試しています。innodb_index_stats テーブル …

[さらに読む]
個性的なcsvからデータを取り出した話

コンピュータシステム周辺に関わっているとCSVファイルとのお付き合いは避けて通れないものと言えるでしょう。みなさんはどんなCSVとお付き合いしたことがありますか。
 セパレータが明確でない(というか明確なのだけど例外例外の積み重ねが意外とややこしい)のがcsvとのお付き合いで気を使うところですよね。

[さらに読む]
Geospatial Hackers Program に参加して優秀な成績を収めた話

 少し前の話になるのですが、Geospatial Hackers Program (GHP)というイベントに参加して来ました。実は、ハッカソンなるものに参加するのは初めてのことで、勝手も分からずに緊張していたのですが、素敵な仲間たちと出会い、心地よく参加させていただくことができました。

Geospatial Hackers Program とは

 公式サイトによると「多方面で注目を集める高需要スキル 「G空間技術」 をイチから学び、エンジニアの方ももそうでない方も、地域課題の解決や新規ビジネス創出に活かせる力を手にいれる2日間の集中プログラムです。 …

[さらに読む]
MySQL 8.0のデュアルパスワードを使った記念メモ

TL;DR

  • デュアルパスワードの情報は mysql.user.User_attributes カラムにJSONで入ってくるのでその辺で確認できる
    • SHOW CREATE USER には入ってこないのでここで確認するしかない?
  • SELECTステートメントでデュアルパスワード持ってるアカウントだけを引っ張るなら mysql.user.user_attributesadditional_password って要素を持ってるかどうかで判定ができる
mysql80 7> SELECT user, host FROM mysql.user WHERE user_attributes->>'$.additional_password' IS NOT NULL;
+----------+------+
| user | host |
+----------+------+
| yoku0825 | % |
+----------+------+
1 row in set (0.00 sec)

[さらに読む]
MySQLのゾンビプロセスの話

エビデンス的なものを貼り付けてもイマイチ伝わらないので、文字通り雑記レベルで。

複数セッション用意してタイミングに依存した実験の結果を伝える時、難しいよね、ってことで、ダラっとした解説になってしまいます。



MySQLのサーバーに重いクエリを投げつけたりしたとき、
クライアント自身を強制終了(mysqlクライアントを「kill -9」とか)すると、サーバー側では処理が続きます。

「SHOW FULL PROCESSLIST」を見るとわかります。

再接続してクエリを投げると、別セッションなのでSHOW FULL …

[さらに読む]
MySQL&Dockers ...簡単なセットアップ

MySQL&Dockers ...は新しい概念ではなく、人々はしばらくの間Dockersに移行しています。 開発のためにこれに移行しようとしている人にとっては、いくつかのハードルがあります。

MySQLはローカルで正常に動作しますが、MySQLの異なるバージョン間でコードをテストする場合は、いくつかのバージョンを簡単に入手できると便利です。

長年の選択肢の1つは、もちろんGiuseppe Maxiaによるhttps://mysqlsandbox.net/です。 これは、複数のインスタンスを起動し、レプリケーションなどをテストできる非常に有効なソリューションです。

[さらに読む]
わざと件数をズラしたグループレプリケーションで、「遅延中」の動きを観察する

日々の覚書: シングルプライマリーモードだろうとInnoDB Cluster内のデータをズラす方法 の続き。 件数をズラした上で OPTIMIZE TABLE をかけるといくらでもセカンダリーが遅延した状況が作り出せる、というとことまでは良いとして。 node3のグループレプリケーションを一旦止める。

### node3
mysql> STOP GROUP_REPLICATION;
Query OK, 0 rows affected (4.49 sec)

またnode1から OPTIMIZE TABLE を5発くらい叩き込んでついでに更新SQLを入れておく。

### node1
mysql> OPTIMIZE TABLE sbtest.sbtest1; -- これを5回くらい

mysql> INSERT INTO d1.t1 VALUES (4, 'four');
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM d1.t1; …
[さらに読む]
1969 件中 461 - 470 件を表示
« 前の 10 件 | 次の 10 件 »