支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • MySQLのバックアップについて

MySQLのバックアップについて

本記事は個人の意見であり、所属する組織の見解とは関係ありません。 ご了承ください。

ITエンジニアとして日常を過ごしていると、日々新しい情報が次々と登場します。 そんな中で今回ご紹介するのは、MySQLのバックアップについてです。 MySQLはオープンソースのリレーショナルデータベース管理システムです。 著者はお恥ずかしながら、MySQLのバックアップについては知識がありませんでした。 そのため、少しでも多くの読者の皆さまに知ってもらいたい且つ、備忘録も兼ねて今回記事にいたしました。 では、早速詳細な内容に触れる前にまずMySQLとは何か?について、段階的に紐解いていきます。 お付き合いいただければ幸いです。

MySQLについて

冒頭にも触れたとおりMySQLはオープンソースのリレーショナルデータベース管理システムです。 名前の由来は共同設立者のMichael Wideniusの娘の名前である「My」と、Structured Query Languageの略称である「SQL」を組み合わせたものである。 MySQLは大容量のデータに対しても高速で動作し、便利な機能が多くあるので、非常に実用性が高いです。 「Yahoo!」「Google」「YouTube」などのトップ企業も採用しているようです。 そのため、ユーザーからのアクセス数が多い大規模なアプリケーションにも対応できます。

MySQLの特徴について

特徴の一つとしてストレージエンジンがあります。ストレージエンジンとは、DBMSがデータベースからのデータの読み込み、 データベースへの書き込みに使われる独自のコンポーネントのことです。 MySQLでは様々なストレージエンジンをサポートしており、以前はトランザクション非対応である代わりに参照が高速なMyISAMが使われていました。 現在はACID(※)に準拠した強固なトランザクションサポートを実現しているInnoDBがデフォルトとなっています。 ※ACID…Atomic:原子性、Consistent:一貫性、Isolated:独立性、Durable:永続性 の頭文字を取ったものです。

MySQLのコストについて

冒頭にも触れたとおり、MySQLはオープンソースのため無償で利用することができます。

MySQLの機能について

主な機能を以下にまとめました。

・トランザクション管理

・副問い合わせ

・クラスタリング

・ストアドプロシージャ

・ビュー

・トリガ

・情報スキーマ

・レプリケーション

・準同期レプリケーション

・レプリケーションフェイルオーバー

・パーティショニング

・パフォーマンス・スキーマ

・クエリオプティマイザ

・パスワード暗号化

・プラガブル・ストレージエンジン(InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE、FEDERATED、EXAMPLEなど)

・MySQL コネクタ

・MySQL Workbench

MySQLのデータベース作成について

本題のデータベースの作成について触れていきたいと思います。 MySQLからデータベース作成までの流れを以下にまとめました。 セットアップまでの詳細な流れは割愛します。

・ダウンロードをする

公式サイトにアクセスし、MySQLのインストーラーをダウンロードします。

・インストールをする

MySQLのインストーラーを起動し、ウィザード画面に従い、インストールします。

・初期設定をする

画面に従い、初期設定をします。

・データベースを作成する

CREATE DATABASE文を使ってMySQLでデータベースを新規に作成していきます。 画面上で「CREATE DATABASE db_name;」を入力し、クエリを流します。 ※db_name;の部分に作成したいデータベース名を入力します。(データベース名は64文字以内で指定してください。 ) 仮に同じデータベース名でクエリを流した場合は「Can't create database 'データベース名'; database exists 」というエラーが発生します。 作成したデータベースを確認したい場合は「show databases;」を入力し、クエリを流します。

MySQLのバックアップについて

全てのバックアップを取得するコマンドを以下にまとめました。

mysqldump --single-transaction -u root -p -x --all-databases > 出力ファイル名

まとめ

業務環境とニーズがマッチすれば、容易に環境を整えることができます。 料金面では、オープンソースのため、無償で利用することができます。他のリレーショナルデータベース管理システムと比較し 導入しやすいと感じます。大量のデータベースを検索でき、様々な機能が備わっているため、 採用する価値は十分にあるのではないでしょうか。有名なトップ企業も本データベースを採用しています。 IT業界の現在や今後先もクラウドといった環境に急速にシフトしていき、サービス利用者も増えていくと著者は考えます。 今回はMySQLのバックアップについてご紹介しましたが、他のクラウドサービスと組み合わせて 利用すればもっと業務効率化や業務改善が図れるのではないかと考えます。 少しでも多くの読者の皆さまがMySQLに興味を持っていただけたら幸いです。 機会がありましたら、IT技術の情報を読者の皆さまにまたお届けしていきたいです。