mysql

InnoDBのロックに関する記事まとめ

InnoDBのロック機構どうなってたっけ?? と思ったら、読み返したい記事たち。 14.2.6 InnoDB のレコード、ギャップ、およびネクストキーロック https://dev.mysql.com/doc/refman/5.6/ja/innodb-record-level-locks.html MySQL InnoDBのネクストキーロック …

Mac + VirtualBox + Vagrant で MySQLのレプリケーション環境構築

MySQLのレプリケーションを手軽に試す環境が欲しいなぁと思い、Vagrant を使って複数のGuest OSを立ち上げてみることにした。 Environments Host OS: 10.10.3(Yosemite) VirtualBox: 4.3.26 Vagrant: 1.7.2 Guest マスター・スレーブ 1台ずつで。 OS: Ubuntu…

utf8_unicode_ci から utf8_general_ci に一括ALTERする

だいぶ前ですが、Rails の config/database.yml で collation を指定し忘れて、全てのテーブルが utf8_unicode_ci になってしまいアタマを抱えるという事件がありました。 なぜこれで困るのかについては、 Rails - ActiveRecordでデフォルトの照合順序を変更…

MySQL autocommit

MySQL の autocommit / start transaction についてちょっと調べる機会があったので、メモ。 以下、 MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.4.1 START TRANSACTION、COMMIT、そして ROLLBACK 構文 より引用。 AUTOCOMMIT デフォルトにより、MySQL…

MySQL SHOW STATUS - 接続数を確認する

コマンド $ mysql -uroot -e 'show status' | grep -E 'Max|Threads' Max_used_connections 12 Threads_cached 0 Threads_connected 1 Threads_created 13280 Threads_running 1 Max_used_connections The maximum number of connections that have been in …

mysqlインストールではまる

なぜかMac OS Xのhomebrew install mysqlでハマった。brew info mysqlの手順に沿うだけなんだが。。。 OS: Snowleopard MySQL: 5.5.27 brew install mysql unset TMPDIR mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --d…

トランザクションあれこれ

トランザクションの開始と終了 デフォルトにより、MySQL は自動コミットモードが有効な状態で起動します。これは、テーブルを更新(変更)するステートメントを実行したとたん、MySQL がディスク上に更新を格納する、という意味です START TRANSACTION を利用…

CentOSにMySQLとHandler Socketを入れてみる

MySQL Casual Advent Calendar 2011の13日目を担当するkotaroitoです。どうぞよろしくお願いします。普段は、Opsの方々が用意してくれたMySQLを使うのみ、Explainの読み方はわかるけどサーバの設定無理、というまさにCasualユーザです。勢いに任せてMySQL Ca…

MySQL+Senna/Tritonnについて調べた

検索関連の技術に疎かった&MySQL+Sennaのアーキテクチャをあまり理解してなかったので調べてみた。 Tritonnとは TritonnはMySQLから全文検索エンジンSennaを利用可能にするためのプロジェクト http://qwik.jp/tritonn/about.html MySQLにおける全文検索 htt…

Test::mysqld

DBを使ったテストがちゃんとできてないよねー、という自覚あったので遅ればせながらTest::mysqldを使いだしてみる。 で、インストールでものすごくハマってしまい、Test::mysqldからmysqldが起動しない事態に陥り延々悩む。起動スクリプト(/etc/init.d/mysql…

MyISAMのロック

MyISAMはテーブルロックだということは知っているけど、細かなところが怪しいので、調べてみた。 テーブルロック 読み出し時(SELECT)は読み出しロックを取得し、書き込み時(INSERT, UPDATE, DELETE, ALTER TABLE)は書き込みロックを取得する。 読み出しロッ…