2608 件中 1 - 10 件を表示
次の 10 件 »
yt-rename-databaseでかつての RENAME DATABASE っぽいことをする

MySQLに RENAME DATABASE が存在していたのは 5.1.7から5.1.22の短い期間だけ(5.1のGAは5.1.30なのでその時にはもう消えていた)

にも拘わらず、かつての日本語版ドキュメントのカバー範囲が「5.1.15-betaまで」なため、俺と似たような時期に日本語ドキュメントを使って勉強していた人はよく知っているイメージ。

ちなみに無くなった理由は「色々考慮してないものが多すぎて色々壊れまくったから」だと思う(個人の見解です)

[さらに読む]
MySQL25年&MyNA(ユーザ会)20年記念イベントを開催しました

 わざわざ普段のMySQL勉強会で「10年前はこんなのでした」「15年前のバージョンでこんなのがあってね」なんて話をする奴は、いない。やっぱりみんな、最新バージョンでどうなったのか、どう使っているのか、という話をしたいし、聞きたい。だからこそ、振り返りをコンセプトとする周年イベントは、開催したかった。

 今年2020年は、 …

[さらに読む]
MySQL 複数データセンター利用する場合のレプリケーショントポロジー考察

マスター・スレーブ構成ではマスター障害時、保持しているバイナリログが最も進んでいるスレーブから新マスターを選出する。

MySQLでは、どのスレーブが最新のログを持っているかはコントロールできない。 準同期レプリケーションを利用していたとしても、非同期スレーブのほうが先に進んでいるということがあり得る。

複数のデータセンターを利用する場合に、プライマリ側のデータセンターにマスターを固定する運用をするとしたら、 どのような構成パターンが良さそうか考えてみる。 …

[さらに読む]
MySQL: CHAR(0)の動作が変わっていた

 11年ほど前に書いた日記がふと目にとまりました。CHAR(0)という列を定義できるというお話。
sakaik.hateblo.jp


 当時のバージョンが明記されていないため、よくわからないのですが、最新の 8.0.20では挙動が変わっているようです。

mysql> CREATE TABLE t1 ( a CHAR(0), b VARCHAR(0));
Query OK, 0 rows affected (0.01 sec)

mysql>  INSERT INTO t1 VALUES ("ABCDE", "FGHI");
ERROR 1406 (22001): Data too long for column 'a' at row 1

 ちゃんとエラーとして動作するようになりました!(というか勝手に切り捨てるのをやめただけとも言う)
当時の実行結果で、WARNING …

[さらに読む]
こんにちはこんにちはこんにちは!を出すSQL

 slack とかを使っていると、新たに部屋に参加した人は挨拶するじゃないですか。「こんにちは!」って。そしたら、既に部屋にいる人は「こんにちはこんにちは!」って返しますよね。その後に入ってきた人は、これを見て「こんにちはこんにちはこんにちは!」って挨拶したり、次の人は「こんにちはこんにちはこんにちはこんにちは!」って書き込んだり、しますよね。
 これを SQL でさくっと書けないか、と、とある チャンネルに @yoku0825 さんが書いた疑似SQLがこれ。

WITH RECURSIVE t AS 
   (SELECT 1 AS c, 'こんにちは' AS str 
    UNION ALL 
    SELECT c + 1, CONCAT(str, str) FROM t WHERE c < ?)
SELECT CONCAT(str, '!') FROM t;

[さらに読む]
pt-query-digestでtcpdumpから集約せずに全てのクエリーを取り出す

TL;DR

書き出しが全てなのでそれは置いておいてハマったこと。

[さらに読む]
Update for last week (2020-05-11~ 2020-05-17)

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

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

Release note

( …

[さらに読む]
MySQL 8.0 の新機能 デュアルパスワードでパスワード変更時のダウンタイムを回避する

MySQL 8.0で、「デュアルパスワード」がサポートされました。 1つのユーザに対して、新旧2つのパスワード(プライマリとセカンダリ)を設けることができます。

# どっちのパスワードでもログインできる
$ mysql -uapp -h$HOSTNAME -pPassw0rd@init -e 'SELECT CURRENT_USER()'
+----------------+
| CURRENT_USER() |
+----------------+
| app@%          |
+----------------+

$ mysql -uapp -h$HOSTNAME -pPassw0rd@2nd -e 'SELECT CURRENT_USER()'
+----------------+
| CURRENT_USER() |
+----------------+
| app@%          |
+----------------+

DB上でのパスワード変更のオペレーション と アプリケーション側に設定されているパスワードの変更 をまったく同時に行うことは困難です。 …

[さらに読む]
MySQLのMecabプラグインによる単語の解析(INNODB_FT_INDEX_TABLE)

MySQLのMECABによる最近つぶやかれている単語の解析

MySQLのMecabプラグインを利用して集計したデータを解析する過程で、INNODB_FT_INDEX_TABLEにて含まれている単語を確認し集計しようとしたが、
サーバーのスペックが低く集計中にハングしてしまったので、メモリーのINNODB_FT_INDEX_TABLEの内容をInnoDBテーブルに落として集計してみた。
もし、同様に形態素解析で解析されたワードを集計したいけれども、メモリー量が不足していて単語を集計出来ない場合の回避策として。参考までに。


root@localhost [(none)]> desc INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
+--------------+---------------------+------+-----+---------+-------+
| Field        | Type                | Null | Key | Default | Extra |
+--------------+---------------------+------+-----+---------+-------+
| WORD …
[さらに読む]
Update for last week (2020-04-27~ 2020-05-03)

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

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

Release note

[さらに読む]
2608 件中 1 - 10 件を表示
次の 10 件 »