↑についてリノベ8.0.22で話した。
このとき、MTG中にそれぞれが試してみるとgoだと動く、rubyだと応答がなくなるという話をしていた。
tmtmさんがRuby, Cで追実験した結果をブログにしてくれていたので、僕もgoの結果を書いておこうと思う。
結果を先に書くと、dockerで公式イメージの8.0.22に対して実行するとドキュメント通りsortはされないが結果は帰ってきた。 …
[さらに読む]
某所で CentOS 7 で mysql コマンドで日本語入力ができないという話を見かけた。
mysql> プロンプトで日本語を入力しようとしても確定すると消えてしまうらしい。 自分は
Ubuntu で普通に入力できてるので調べてみた。
結論からいうと、これはロケールの問題で locale -a コマンドの出力中に
ja_JP.utf8 があって、ロケール(環境変数 LC_ALL,
LC_CTYPE, LANG 等の値)が
ja_JP.UTF-8 になっていれば問題ない。
もう一つ。CentOS 7 で絵文字を入力すると、絵文字ではなく \U+1F37A
みたいに表示される。表示だけの問題なので動作上は問題ない。
これは OS の glibc のバージョンの問題ぽいので CentOS 7 ではどうしようもなさそう。
以下調査内容。 …
[さらに読む]MySQL Release note でわいわい言う勉強会 8.0.22 でLTしてきました。
MySQL Shell の dumpInstance の仕組み
MySQL Shell のバックアップ機能 dumpInstance
がどのようにして、一貫性のあるバックアップを実現しているか説明しました。 8.0.21 までは FLUSH
TALBES WITH READ LOCK を利用してロックをかける方式のみでしたが、 8.0.22
以降では、FTWRLが使えない場合は、LOCK TABLES を代替として利用するようになっています。
MySQL Shell dumpInstance の仕組み from …
[さらに読む]MySQL 8.0.22 の新機能で DNS SRV レコードのサポートというのがあったので試してみた。 https://dev.mysql.com/doc/refman/8.0/en/connecting-using-dns-srv.html
MySQLサーバー3台 (a.example.com, b.example.com, c.example.com)とそれに接続するためのクライアントの計4台を docker-compose で作成する。
Dockerfile
FROM ubuntu RUN apt update RUN apt install -y mysql-client libmysqlclient-dev gcc unbound bind9-dnsutils RUN rm -f /etc/unbound/unbound.conf.d/root-auto-trust-anchor-file.conf COPY entrypoint.sh / RUN chmod +x /entrypoint.sh ENTRYPOINT /entrypoint.sh
docker-compose.yml
services:
client:
build: .
hostname: client
volumes:
- ./resolv.conf:/etc/resolv.conf
- ./unbound-example.conf:/etc/unbound/unbound.conf.d/example.conf
- .:/work …[さらに読む]
MySQL 8.0.22 のリリースノートによるとプリペアドステートメントまわりに非互換があるらしい。
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-22.html
For a prepared statement of the form SELECT expr1, expr2, ... FROM table ORDER BY ?, passing an integer value N for the parameter no longer causes ordering of the results by the Nth expression in the select list; the results are no longer ordered, as is expected with ORDER BY constant.
order by の引数をプレースホルダで与えても無視されるらしい。
試してみる。
8.0.21:
% docker run -p 13306:3306 --name mysql8021 -d -e MYSQL_ALLOW_EMPTY_PASSWORD=1 mysql:8.0.21 % docker exec -it mysql8021 mysql mysql> create database test; mysql> use test; mysql> create table t (id int …[さらに読む]