見直したらほぼ 日々の覚書: MySQL
5.7.4で導入されたdefault_password_lifetimeがじわじわくる(MySQL
5.7.11でFIX!!) に書いてあったんだけど、
@yoku0825 @soudai1025
yumでさくっとバージョン上げた時に、=360のままだった気がしたので、そりゃ確かに勝手に設定値を書き換えたりしないよなと思ったのでした。(勝手に
既定コードを latin1 に書き換えられたら困るのと同じ)— 坂井 恵(SAKAI Kei) (@sakaik)
2016年3月6日
…
単位時間あたりのログ件数をグラフ化する…という用途だと、Elasticsearch/Kibanaが思いつくのですが、Zabbixでも計算アイテムを使うことで、そういうことができなくもなかったです。
ログアイテムの設定
以下のような感じで、/var/log/messagesを監視するアイテムを作成します。
最新データは以下のような感じ。
計算アイテムの設定
ログの中から「error」にマッチする行の、30秒あたりの件数をカウントする計算アイテムを作成します。
基本的にはトリガー関数のcountがそのまま使えるようです。
違うのは、関数の第一引数が計算対象のアイテムのキーになるところです。(ちなみに、定義されていないアイテムのキーは使えないようでした)
…
[さらに読む]Amazon EC2でスナップショットから作成したばかりのEBSは読み書きが遅いので、ddを使って並列コピーするコマンドを作成してみた。
winebarrel/ddcp: Parallel file copy command using dd.
検証
スナップショットから作成したばかりのEBSからエフェメラルディスクにファイルをコピー
ファイルは25GBのidbファイル ファイルシステムはext4
インスタンスはi2.xlarge
EBSはgp2 1000GB(3000IOPS)
ddcp
ubuntu@ip-10-0-158-54:~$ time ddcp -s /mnt/vol2/mysql/wikimedia/page_view_statistics.ibd -d /mnt/vol/tmp/page_view_statistics.ibd
real 20m57.639s user 0m0.360s sys 0m48.133s
ハッシュは一致。
ubuntu@ip-10-0-158-54:~$ shasum /mnt/vol2/mysql/wikimedia/page_view_statistics.ibd /mnt/vol/tmp/page_view_statistics.ibd 08743bb15c2a92b153ae574d7ce16a6331bd0767 …
[さらに読む]
タイトルで何を言ってるのか我ながら良くわからない。。
mysql56> SELECT * FROM t1 JOIN t2 USING(num);[さらに読む]
+-----+-------+---------------------+---------------------+--------+---------------------+---------------------+
| num | val | created | updated | val | created | updated |
+-----+-------+---------------------+---------------------+--------+---------------------+---------------------+
| 1 | one | 2016-03-01 15:38:44 | 2016-03-01 15:38:44 | eins | 2016-03-01 15:38:44 | 2016-03-01 16:40:29 |
| 2 | two | 2016-03-01 15:38:44 | 2016-03-01 15:38:44 | zwei | 2016-03-01 15:38:44 | 2016-03-01 16:40:33 |
| 3 | three | 2016-03-01 15:38:44 | 2016-03-01 15:38:44 | drei | 2016-03-01 15:38:44 | 2016-03-01 16:40:36 |
| 4 | four | 2016-03-01 15:38:44 | 2016-03-01 15:38:44 | vier | 2016-03-01 15:38:44 | 2016-03-01 16:40:59 | …
MySQL5.7から追加されたGenerated
Column(生成列)を使って、色々と便利な事が出来るようになりました。
先日、Generated Columnを利用してMySQLの照合順を説明したのでその時に利用した生成列をサンプル兼メモです。
Default: utf8_general_ci or
utf8mb4_general_ciの場合
英語の大文字、小文字は同じ文字として扱う。
root@localhost [CONFIRM]> show create table T_Character\G
*************************** 1. row ***************************
Table: T_Character
Create Table: CREATE TABLE `T_Character` (
`pid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`string1` char(1) DEFAULT NULL,
`string2` char(1) DEFAULT NULL,
`string1_w_string` char(4) GENERATED ALWAYS AS (hex(weight_string(`string1`))) VIRTUAL,
`string2_w_string` char(4) GENERATED ALWAYS AS (hex(weight_string(`string2`))) VIRTUAL,
`compare` char(1) GENERATED ALWAYS AS …[さらに読む]
ORDER BY
RAND()といえば、「結果セットをランダムにソートし、LIMITと組み合わせることでランダムに指定件数をピックアップしたかのように見える」黒魔術。
( ´-`).oO(そういえばこれも ORDER BY FIELD と一緒で構文だと思っていた人がいたな。。
これもまあRAND()関数を使ってるだけなので、select_listに放り込めば何やってるかわかりやすい。
mysql56> SELECT num, val, RAND() AS rand_val FROM t1 ORDER BY rand_val LIMIT 3;[さらに読む]
+-------+----------------------------------+-------------------------+
| num | val | rand_val |
+-------+----------------------------------+-------------------------+
| 94164 | e8d2546088e6be7ff164964c7a07bdb3 | …
MySQLには`WHERE col IN (..) ORDER BY FILED(col,
..)`という書き方でINに並べた順番にソートしなおせるという知見がある。
こんなテーブルがあって、
mysql56> SELECT * FROM t1;
+-----+-------+
| num | val |
+-----+-------+
| 1 | one |
| 2 | two |
| 3 | three |
| 4 | four |
| 5 | five |
| 6 | six |
| 7 | seven |
| 8 | eight |
| 9 | nine |
| 10 | ten |
+-----+-------+
10 rows in set (0.00 sec)
INにテキトーな値を並べてやっても、
mysql56> SELECT * FROM t1 WHERE num IN (7, 5, 3);
+-----+-------+
| num | val |
+-----+-------+
| 3 | three |
| 5 | five |
| 7 | seven |
+-----+-------+
3 rows in set (0.00 sec)
…
免責事項
この記事はTodd Farmer氏によるMySQL Server Blogの投稿「Feedback Request: Enforcing SQL Mode」(2016/2/9)をユーザが翻訳したものであり、Oracle公式の文書ではありません。
MySQLサーバーには多岐にわたるSQLモードがあります。SQLモードは様々な動作を制御するもので、制御する動作は他のRDBMSの方言(ANSI_QUOTES、PIPES_AS_CONCAT)との互換性から、セキュリティー( …
[さらに読む]
MySQL 5.8.0-m17
の声が聞こえ始めました。初出はおそらく、yoku08253報告の、これ。>
https://bugs.mysql.com/bug.php?id=80372
そんな中、梶山さんのこんなツイートがあったので、整理してみました。
m17ってどっからの通算なんだ?
— RKajiyama (@RKajiyama) February 19, 2016
MySQL 5.8.0-m17 ~
MySQL 5.7.0-m10 ~ 5.7.6-m16
MySQL 5.6.0-m4 ~ 5.6.6-m9
…
(この記事は 2016年 2月時点の観察に基づくものです)
サイト上の記事に関するツイートは当事者にとっても閲覧する側にとっても興味深いものです。ただ、ツイッター公式の検索機能を使って所定の URL を含むツイート一覧を取得する際に、クエリ文字列の指定方法により検索結果が大きく異なるケースがあることに気がつきました。また、その現象はサイトにより一様ではありません。以下にその内容を控えます。お手元のサイトではどうでしょう?
話題の背景
米 Twitter 社は Web パーツとして提供中のツイートボタンへのカウンタ表示を 2015年 11月 20日に廃止しました。
- 持続的なプラットフォームのための難しい決断 - blog.twitter.com …