3134 件中 661 - 670 件を表示
« 前の 10 件 | 次の 10 件 »
MySQL ヒストリーに記録されない条件

TL; DR;

  • *IDENTIFIED*:*PASSWORD* にマッチしたクエリ、つまりパスワードを含むクエリはヒストリーに記録されない
  • 環境変数 MYSQL_HISTIGNORE で記録しないクエリを追加指定できる

ヒストリーに記録されない時がある

mysql コマンド には履歴機能があります。 Linuxのシェルのように、過去に実行したSQLを上の矢印キーで遡ったり、Ctrl-R でキーワード検索することが出来ます。

時々、ヒストリーに記録されない …

[さらに読む]
MySQLのDROP DATABASEでWARNINGが表示されない事象

 DROP DATABASE IF EXISTS ... で存在しないデータベースをドロップしようとしたときに、WARNING が表示されない事象があったので紹介します。

IF EXISTS (テーブルの場合)

 MySQLDROP文には "IF EXISTS" というオプションがあり、たとえばテーブルの場合は、以下のように使います。

mysql> use test
mysql> DROP TABLE IF EXISTS mytable999;                                                                                             
Query OK, 0 rows affected, 1 warning (0.02 sec)

 mytable999 というテーブルは存在しませんが、IF EXISTS 句のおかげでエラーにはならず正常終了しています。

[さらに読む]
MySQLのprocesslistをgrep して killする myps コマンド

なんらかの理由で MySQLにクソ重いクエリがたくさん流れてしまった場合、SHOW PROCESSLISTをみて、クエリをKILLするなんてことは、あったりなかったりします。

この時にクエリが数十個となると、手作業ではやりきれませんので、コマンドを駆使して対応することになります。

ちょっと前にやったのが以下のコマンド

/usr/bin/mysql --defaults-extra-file=/path/to/.my-other.cnf -NB -e 'SELECT GROUP_CONCAT(ID) FROM \
information_schema.PROCESSLIST WHERE STATE = "Creating sort index" AND TIME > 1000 AND INFO \
LIKE "select%example%"' | grep -v NULL | /usr/bin/xargs -r /usr/bin/mysqladmin --defaults-extra-file=/path/to/.my-other.cnff kill

mysqladmin killは複数個のidを受け取れるのでGROUP_CONCATが使うのがおしゃれですね

[さらに読む]
MySQLのHELP構文ってやつ

この記事は MySQL Advent Calendar 2019の16日目です。 昨日はdupont-kedamaさんのMySQL5.5からMySQL8.0にマイグレーションしたゆるい話 でした。

MySQLにはHELP構文というものがあって、構文とかをサクッと調べられるということは聞いたことあったけど、ちゃんと使ったことがなかったのでこの際に調べてみた。

dev.mysql.com

基本構文は下記。

mysql> HELP '<検索文字列>'

mysql

[さらに読む]
MySQL 8.0時代のSET GLOBALとかSET PERSISTに必要な権限

TL;DR

  • オンライン変更は SYSTEM_VARIABLES_ADMIN 権限。 SUPER は非推奨。
  • SET PERSIST_ONLYSYSTEM_VARIABLES_ADMIN 権限 && PERSIST_RO_VARIABLES_ADMIN 権限

ふとコードを読んでいる時に SET PERSIST_ONLY には SUPER 権限は絡んでなさそうなことに気が付いたので試してみる。

  /* for dynamic variables user needs SUPER_ACL or SYSTEM_VARIABLES_ADMIN */
if (!static_variable) {
if (!sctx->check_access(SUPER_ACL) &&
!(sctx->has_global_grant(STRING_WITH_LEN("SYSTEM_VARIABLES_ADMIN"))
.first)) {
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0),
"SUPER or SYSTEM_VARIABLES_ADMIN");
return 1;
}
} else {
/*
for …
[さらに読む]
Dive into Binary logs

この記事はMySQL Advent Calendar 2019の9日目の記事です。

binary logとはなにか

binary log(以降binlog)はMySQL serverで実行した更新をイベントという形式で出力したログ。トランザクションのコミット時に出力され、コミットの順番で1トランザクションの変更がシーケンシャルに出力されている。
MySQLではこれを利用することでreplicationやrecoveryを行っている(server crash後のcrash recoveryには …

[さらに読む]
MySQL 8.0予約語問題にも使える、performance_schemaからエラーになったクエリーをたたき出す方法

TL;DR

  • events_statements_*テーブルmessage_text カラムにエラーメッセージが入っている
  • MySQL 5.6とそれ以降で使える
    • こんな便利なものに気が付いていなかった…

注意

[さらに読む]
Update for last week (2019-12-02~ 2019-12-08)

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

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

Release note

( …

[さらに読む]
解決:高緯度ほど緯度1度が広くなる謎(追記あり)

数日前の日記の中で、「緯度1度あたりの長さは、緯度の高低に依らず一定と予想して、MySQLで計算してみたところ、差が出てびっくり」という実験結果を紹介しました。
http://sakaik.hateblo.jp/entry/20191202/mysql_gis_metre_per_degree

これは、地球が(そして今回計算に使用した JGD2011が)真球ではなく回転楕円体だからということに起因するものであると、すぐに想像できましたが、いやまて、よく見ると高緯度のほうが1度あたりの距離が長い。 

mysql> SELECT id, ST_Distance(pos1, pos2)  FROM g3 ORDER BY ID;
+------+-------------------------+
| id   | ST_Distance(pos1, pos2) |
+------+-------------------------+
|    0 | …
[さらに読む]
InnoDB FTSで検索できない文字があるときは innodb_ft_enable_stopword のせいかも

InnoDB FTS シリーズが続きます。今回は innodb_ft_enable_stopword についてです。

mita2db.hateblo.jp

mita2db.hateblo.jp

TL; DR

  • ngram で、yakitori がヒットしない
mysql> SELECT * FROM fts_ngram;
+----+----------+
| id | c1       |
+----+----------+
|  1 | yakitori |
+----+----------+
1 row in set (0.00 sec)

mysql> SELECT * FROM fts_ngram WHERE MATCH(`c1`) 
> AGAINST('tori' IN BOOLEAN MODE);
Empty set (0.00 sec)
  • innodb_ft_enable_stopword が ON が原因

    • innodb_ft_enable_stopword は デフォルトでON
[さらに読む]
3134 件中 661 - 670 件を表示
« 前の 10 件 | 次の 10 件 »