MySQLのデータベース削除は、drop database。復元するにはバックアップが必須
  • facebookページ
  • twitterページ
  • 2020.01.30

    MySQLのデータベース削除は、drop database。復元するにはバックアップが必須

    MySQLのデータベース削除についてまとめています。

    以下、MySQLのバージョンは8.0.19を前提に解説しています。

    MySQLのデータベース削除コマンドは、drop database

    例えば、データベースemployees2を削除するには、以下のようにします。

    データベース削除後は、復元する方法はないと考えておいたほうが良いでしょう。万が一のために、mysqldumpなどでバックアップを取得しておきましょう。

    【関連記事】

    MySQLのデータバックアップなら専用コマンドのmysqldumpを

    mysqldumpで取得したデータがあれば、以下のようにデータベース削除後にcreate databaseさえしておけばリストアが可能です。

    phpmyadminでデータベースを削除する手順

    MySQLをウェブベースで管理するphpMyAdminからデータベースを削除するには以下のようにします。

    データベースを削除できる権限を持つユーザで、phpMyAdminにログインします。

    1. 削除したいデータベースを選択します。
    2. 画面上部のメニューから「操作」をクリックします。
    3. 「データベースを削除する(DROP)」をクリックします。

    「データベースを完全に削除しようとしています! DROP DATABASE データベース名 を本当に実行しますか」とメッセージが表示されるので、OKをクリックします。

    なお、「データベース名の変更」という機能は、内部的にはデータベースを削除して再作成する処理になります。処理の途中で異常終了すると、データが消失してしまうケースがあるため、要注意です。

    データベースから、データを削除したのにディスク空き容量が増えない

    MySQLで、InnoDBを使用している場合、deleteやtruncateでデータを削除してもディスク空き容量が増えないケースがあります。

    いったんデータベースを作ってしまうと、使った容量は確保されたままになるため、空き容量が減らないんですね。

    空き容量を減らすためには、MySQLサービスを停止する必要がありますが、以下のようにします。

    1. 全データベースのバックアップを取得
    2. MySQLサービスを停止する
    3. MySQLのデータベースの実体ファイルを削除
    4. MySQLのデータベースをリストア

    以下のコマンドで、全データベースのバックアップを取得します。

    いったんデータベースを削除するため、このバックアップが正常に取得できているかどうかを必ず確認してください。

    以下のコマンドで、MySQLサービスを停止します。

    データベースの実体ファイルを確認します。デフォルトでは、/var/lib/mysql以下のib_logfileがログ用領域ファイル、ibdata1がデータ用領域ファイルです。

    対象のファイルを削除します。

    データベースを起動します。

    以下のコマンドで、全データベースをリストアします。

    上記の手順は、実際にデータベースを一度削除するため、テスト環境などで動作を確認してから実行しましょう。

    まとめ

    ポテパンダの一言メモ
    • データベース削除は、drop databaseで実行
    • 一度削除したデータベースを復元するには、バックアップが必須
    • phpMyAdminからデータベース削除も可能
    • データベース領域の空き容量を増やすには、一度データベースを削除してからリストアする必要がある


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE