表題の通り、db tech showcase Tokyo 2016にて、MySQL 5.7の新機能についての解説を行った。スライドをアップロードしたので、セッションに来てくれた方も、見逃したという方もぜひ見て頂きたい。 What's New in MySQL 5.7 InnoDB from Mikiya Okuno 思えば、4年前のdb tech showcaseでMySQL 5.6の新機能について解説したときは、1回のセッションですべての機能を詳解することができた。ところが、MySQL 5.7に至っては、昨年MyNA会でオプティマイザ関連の新機能についての解説を行ったのに続き、今回はInnoDBの新機能だけに的を絞った解説となった。このように小出しにしているのにはワケがある。いや、そもそも小出しにしているというつもりはない。単にMySQL 5.7の新機能が多すぎて
この記事ははてなデベロッパーアドベントカレンダー2015の12月24日の記事です。 昨日は id:stefafafan さんのエンジニアと英語でした。 こんにちは、こんばんは。 クリスマス・イヴですね、皆さんはどのような一日を過ごされる(た)のでしょうか。 僕は一人です。 改めまして、先日初めての合コンを経験/失敗して二度と行かないと誓った はてなの id:ichirin2501 です。今回は小ネタとしてMySQL(InnoDB)のBULK INSERTにおけるデッドロックの話をしようと思います。ただ、外部キー制約が絡むと複雑になるので今回は触れません。それについてはこちらを参照ください。 あ、タイトルはオマージュです*1。 Topic 検証環境 INSERTのデッドロック 避けられないケース もしくはロックする リトライ処理に注意 初期データ Duplicateの場合 Deadlockの
MySQLのrootのパスワードを忘れてしまった…やその類似ケースを、mysqldを停止せずに何とかするメモ MySQLのrootパスワード忘れた、をググると、--skip-grant-tables を有効にして再起動せよ、というのにぶち当たるのが普通なんですが、カジュアルに再起動する訳にいかないことってあるじゃないですか。 そんなときのTIPS。 まず、ダミーのデータディレクトリをmysql_install_dbで作ります。これはrpmで入れた環境なので、/usrはbasedirです。 $ cd /usr $ bin/mysql_install_db --no-defaults --datadir=/home/mysql/dummy ここに、パスワードを変えたいMySQLのmysql.userテーブルをコピーします。少なくともMySQL 5.7.8現在、mysql.userはまだMyIS
— そーだい@初代ALF (@soudai1025) 2015, 8月 24 とブーメラン投げて見事に刺さってるので今から記事書く。 両サイドにはかなり厳しい話もするが俺の本音を聴いておけ(関白宣言) まぁ歴史の長いRDBなのでお互いの比較記事は沢山ある。 なのでマルチスレッド(MySQL)とマルチプロセス(PostgreSQL)だとかVACUUMだって話はしない。 むしろ実際に使ってみた際の違いをにフォーカスする。 1. SQLの違い 基本的にMySQLでやっていたことはPostgreSQL出来る。 しかし関数の挙動の違いは幾つかある。 例えば時間から曜日に該当する数字に変換した場合に MySQL → date_format(time,"%w") 0から始まり、日曜日に該当する PostgreSQL → to_char(time,'D') 1から始まり、日曜日に該当する など挙動に互換性
なかったらINSERTしたいし、あるならロック取りたいやん? from ichirin2501 www.slideshare.net 出来事 @ichirin2501 とりあえず何も考えずこの前のロックの話をSlideshareにあげてくれ!!— 柴崎優季 (@shiba_yu36) 2015, 8月 22 はじめに これは先日の社内勉強会で発表したもので、MySQLで特定の問題を解決したいときのノウハウ話です。特定の問題とは、アプリを書いてると「データがなかったINSERTしたい、あるなら排他ロックしつつ取得したい」という要望があったりします。例えば、あるユーザーアクションで初期値もパラメーターで渡されるケースで、データがないならそのままINSERT、既にデータがあるなら取得して状態に依存して更新処理を行いたい場合などです。見かけのロジックは単純に見えますが、MySQLでこれを実現しよう
2015/08/22 YAPC::Asia Tokyo 2015 Lightning Talk 2016/01/13 update about default_password_lifetime will be 0Read less
漢(オトコ)のコンピュータ道: なぜMySQLのサブクエリは遅いのか。 この記事は 2009/3/25 に書かれたもののようである。 2009年3月といえばMySQL 5.1がGAになってわずか半年、MySQL 6.0.10-alphaがリリースされた頃で、MariaDBもまだ姿を見せていない頃だ。 時は流れて2015年、MySQL 5.6がGAになって早2年半、5.7のGAマダァ-? (・∀・ )っ/凵⌒☆チンチン な頃なので、もういい加減誰か言ってくれてもいいんじゃないかと思う。 もうMySQL(5.6)は不要にINをEXISTSに書き換えたりしないんだよって mysql51> EXPLAIN SELECT * FROM Country WHERE Continent = 'Asia' AND Code IN -> (SELECT CountryCode FROM City WHER
MySQL 5.6 リファレンスマニュアル というわけで、日本語版のマニュアルがリリースされた。これまでMySQL 5.6のリファレンスマニュアルは英語版しか無かったのだけど、公式に日本語版がリリースされる運びとなったので、是非参照して頂きたい。 かつてMySQL 5.1の日本語版マニュアルが存在したのだが、そちらは現在ウェブから参照できなくなっている。(PDF版はダウンロードできるという話も。)MySQL 5.1の日本語版マニュアルは、ぶっちゃけ翻訳があまりイケてなかったので、今後はぜひMySQL 5.6の日本語版を参照してもらいたい。ついでにもう古のバージョンは窓から投げ捨てて、この機会に是非新しいバージョンへ移行してみてはいかがだろうか。 何か問題が見つかった場合には、ぜひバグレポートをお願いします。バグレポートのカテゴリは「Japanese Documentation」を選択してく
寒くなるとプログラムをやりたくなるのか、ここ数日はRubyな日々が続いていて、今回は前回と同じ題材で勉強会関連のJSONを引っ張ってくるアプリですが、複数のウェブからとなるとやっぱりDBは必須となってくるわけで、WebとDBの連携を自分でやるのは初めてなので試行錯誤な感じが続きましたがやっと出来上がりました。 やっぱりDBを勉強する。というよりも必要なのでDBを勉強したという事象の方が自分には性に合っているようだ。 mysql を使ってみようナウいものはmysql2というやつらしく、早速Gemで入れようとしたら libmysqlclient-devというパッケージが必要でした。 $ gem install mysql2 Building native extensions. This could take a while... Successfully installed mysql2-
うーん。MySQLのバグなんだろうか、一度DELETEしたuserと同じ名前のuserを登録しようとすると失敗する。 やったことはこう。 DELETE 構文で user 'boss' を削除する。 mysql> DELETE FROM mysql.user WHERE user='boss' and host='localhost'; CREATE USER 構文で boss を再度作ろうとしたが、失敗。 mysql> CREATE USER 'boss'@'localhost' IDENTIFIED BY 'password'; ERROR 1396 (HY000): Operation CREATE USER failed for 'boss'@'localhost' MySQLクイック・リファレンスによると、 本来のユーザ削除はこうらしい。先にREVOKEをやらなかったからいけないの
さらば、愛しき論理削除。MySQLで大福帳型データベースを実現するツール「daifuku」を作ってみた 先のエントリ「論理削除はなぜ「筋が悪い」か」で書いたとおり、データベースに対して行われた操作を記録し、必要に応じて参照したり取り消したりしたいという要求は至極妥当なものですが、多くのRDBは、そのために簡単に使える仕組みを提供していません。 daifukuは、RDBに対して加えられた変更をトランザクション単位でRDB内にJSONとして記録するためのストアドやトリガを生成するコマンドです。 % daifuku dbname tbl1 tbl2 > setup.sql のように実行すると、指定されたテーブル(ここではtbl1とtbl2)にセットすべきトリガや、更新ログを記録するためのテーブル「daifuku_log」を生成するCREATE TABLEステートメントなど、必要なSQL文をset
RailsがMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く