MySQL

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 102

homebrew 経由で mysql をインストールし利用しているのですが、先日アップグレードを行いました。 その後 mysql サーバに接続しようとしたら、下記エラーが発生し接続ができなくなりました。 ERROR 2013 (HY000): Lost connection to MySQL server at 'read…

mysql2 gem 経由で MySQL サーバ接続時ライブラリの `LoadError` が発生する

mysql2 gem 経由で MySQL サーバに接続しようとすると、ライブラリ /usr/local/lib/libmysqlclient.18.dylibがロードされず、LoadErrorが発生しました。 /Users/username/reposname/vendor/bundle/ruby/2.3.0/gems/mysql2-0.4.3/lib/mysql2.rb:31:in `requir…

ERROR 2013 (HY000): Lost connection to MySQL server at 'sending authentication information', system error: 32

起きたこと ローカルマシンから mysql につなごうとしたら以下の様なエラーが発生し繋げなくなった。 $ mysql -uroot ERROR 2013 (HY000): Lost connection to MySQL server at 'sending authentication information', system error: 32 原因 1 process あた…

MySQL で作ったテーブルに index を貼るべきかどうかの判断基準

tickets テーブルがあると仮定する。 この tickets テーブルには n レコード格納されている。 2分木ソートの場合、ソートにかかる計算量は O(n log n) で、index を配備するのにかかる計算量は O(log n) となるため、 単位時間あたりのソート回数を x, 単位…

Amazon RDS な MySQL で 不要 process を kill する

MySQL で Too many connections が発生しました。 processlist を確認したところ、Command が Sleep なプロセスが多く発生しており、 結果最大接続数の上限に達してしまうことで発生していたのでした。 Sleep なプロセスが接続を持ったまま残っていることは…

MySQL int(10) の意味するところ

MySQLにおいてint(10)は整数データタイプの表示幅を10桁に指定するという意味になります。 create文例: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL DEFAULT '0', `name` varchar(40) NOT NULL DEFAULT '', `type` smallint(6) NOT NULL DEFAULT …

Mac OS X に homebrew で mysql を install する

MySQLのインストール、初期設定まで MySQL のインストール まずは homebrew を使ってmysqlをインストールします。 % brew install mysql ここでインストール後の設定方法が出力されます。 これらの情報は brew info mysql で確認可能。 データベース及びユー…

transactionの途中でトランザクションが切れてしまった時にそのトランザクションを殺す方法

起こったこと transactionモードで作業途中、セッションが切れた。 そのとき特定tableにinsertをしたがcommitしていない状態だった。 後ほど再度そのtableをselectしたが、当然commitしていないのでデータがなかった。 しかしinsertしようとすると、 ERROR 1…

MySQL のパスワードを変更する方法

背景 プロジェクトで MySQL w/rails を使う事になったが, development のパスワードが config/database.yml に固定で記載されていたため, localの mysql のパスワードを変更する必要があった. 手順 mysql に入ります. mysql -u root -p user:Password を新し…

MySQL の分離レベルとか自動コミットとか

今回は分離レベルの話と自動コミットについて雑多なメモを。 分離レベル MySQL InnoDB のデフォルト分離レベルは REPEATABLE-READ になっています。 このモードはダーティーリードは禁止するものの、ファントムリードなどは発生するというやつで、 4つの分離…