読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

MongoDBのAggregationとSQLの比較

概要 MongoDBのAggregationとSQLとの比較です。 どうやって集計するかな?と悩んだ時に慣れているSQLとの比較があると分かりやすいと思って公式ドキュメントに沿った形で載せてます。 環境 MongoDB 3.0.7 オペレータの比較 SQL MongoDB WHERE $match GROUP B…

INDEX の効果を確認する

DB高速化で INDEX を貼るという選択肢がありますが、初心者にはどれくらい効果があるかなんてわからないですよね。 なので一度確認方法含めて紹介します。 ◆DB&テーブル作る mysql> create database test; mysql> use test; mysql> create table index_test …

トランザクションの動作を確認してみる

よくACID特性って聞くけど、Iの独立性ってどうなってるんだろうと思っての動作確認です。 ◆事前準備 データベースとテーブルを作っておきます。 mysql> create database transaction_test; mysql> use transaction_test; mysql> create table user( -> id in…

ストアド・プロシージャで複数のレコードを扱う

前回の「ストアド・プロシージャを使う」で基本的な使い方を学びました。今回は ・複数のレコードを参照する ・複数のレコードを挿入する をやってみようと思います。複数のレコードを挿入できれば一度に300万件とかのデータも作れるので、INDEXの検証と…

ストアド・プロシージャを使う

◆ストアド・プロシージャって? MySQLでSQL処理を関数化できる機能です。変数だったりwhileやifも使えますのでダミーデータを作ったりするのに便利です。 ◆大まかな流れ ①create procedure hogehoge() でプロシージャを作る ②call hogehoge() でプロシージャ…

MySQL にリモートで接続

サーバのMySQLにリモートでアクセスするにはphpmyadminなどのツールがありますが、これはいちいちApacheやPHPを入れる必要があるためやや手間。 気軽にコマンドラインでやりたい場合です。 ※セキュリティとしては著しく強度が下がるので注意 ①設定ファイルの…

全文検索エンジン「mroonga」のインストール

groongaというSQLの検索クエリを高速化させるための検索エンジンがあります。 Like文で検索させるよりも圧倒的に検索速度が向上します。 今回はgroongaのMySQL用ストレージエンジンであるmroongaをインストールしてみる。 ※今回はUbuntu12.04でのインストー…

MySQL のパスワードのリセット

MySQL5.5での話です。 rootパスワードを忘れてしまったり、インストールしたとき設定したパスワードがなぜか反映されてない、といった時に必要な方法です。後者の場合は $ mysql -u root -p Access denied for user 'root'@'localhost' とか表示されます。ど…

MySQLの準同期レプリケーション

レプリケーションとは「replication:複製」の意味通り、マスターデータをスレーブに複製、同期することで負荷分散や耐障害性の向上を目的とした技術です。 通常レプリケーション(asynchronous replication)と準同期レプリケーション(semisynchronous rep…

MySQL 既存のデータ構造の編集

文字コードを設定ファイルで指定する前にDBを作成してしまい、あとから変更することを余儀なくされた、といった場面を想定しています。 ◆データベースの文字コードを後から変更 まずはDBの構造を確認します。 mysql> status; Server characterset: utf8 Db c…

MySQL でデータのバックアップ

①データベース自体のバックアップ データベースをダンプします。 $ mysqldump -u ユーザ名 -p DB名 > 出力先ファイル名 ユーザ名:root DB名:testdb 出力ファイル:dump.sql とすると $ mysqldump -u root -p testdb > dump.sql

MySQLでのユーザの追加と権限付与

MySQLでのユーザの追加と、ユーザの権限の付与について。MySQL5.0以上を想定しています。 ◆ログイン 初期設定で ユーザ:root パスワード:admin とします。 $ mysql -u root -p Enter password:admin

MySQLの基本操作

MySQLの基本的な操作。シェルスクリプトでヒアドキュメントを使用すればこの通りに書いてOKです。 ここでは ユーザ名:root パスワード:foo とします。 ◆ログイン

MySQLの設定

珍しくすんなり終わりました。 ちなみにUbuntu serverでインストールするときに、SQLもインストールで選んでたら以下の手間なインストールは避けられます。 $ sudo apt-get install mysql-server rootのパスワードの設定を求められるので、何か打つ。MySQLに…