ユーザマニュアル


7月23日ハンズオンセミナー@中野開催! プリなま#25公開! ITreviewレビュー投稿キャンペーン レビュー投稿・公開でamazonギフトカード2000円分プレゼント! 年間サポートサービス-項目拡張-

2025/07/08

MANUAL

FAQ:MySQL データベース バックアップ・リストア手順

本手順はユーザマニュアルのインストール手順で構築したプリザンターのデータベース(Implem.Pleasanter)を対象としています。 ## 手順 1. バックアップ 1. バックアップ 2. 定期的にバックアップ 2. リストア 1. 同じ環境へリストア 2. 異なる環境へリストア ## 1. バックアップ ### 1. バックアップ バックアップファイルを取得します。この手順では /backup ディレクトリ配下に取得します。 ``` sudo mkdir /backup sudo chown -R 【mysqldumpを実行するユーザ名】 /backup mysqldump -u root -p Implem.Pleasanter > /backup/Implem.Pleasanter.dump ``` ### 2. 定期的にバックアップ 定期的にバックアップおよび、バックアップファイルの削除を行いたい場合は下記のようなcron設定を行うことで可能です。 下記のcron設定で、毎日1:00に1週間以上前のファイル削除、2:00にバックアップ取得を行う ``` sudo crontab -u 【バックアップ取得を実行するLinuxユーザ名※】 -e ``` ※プリザンターを実行するLinuxユーザと同一で問題ありません。 **毎日2:00にデータベースのバックアップを取得** ``` 00 02 * * * /bin/mysqldump -u root -p【MySQLのrootアカウントのパスワードを-pとの間に空白を入れずに記述】 Implem.Pleasanter > /backup/`date "+\%Y\%m\%d"`_Implem.Pleasanter.dump ``` **毎日1:00に一週間以上前のファイルを削除** ``` 00 01 * * * /bin/find /backup -maxdepth 1 -mtime +7 -type f -delete ``` ## 2. リストア ### 1. 同じ環境へリストア 1. リストア後切り戻せるように、リストア実行前のバックアップを取得します。 ``` mysqldump -u root -p Implem.Pleasanter > 【リストア前に取得するバックアップファイルの出力先パス/ファイル名】 ``` 2. MySQLのrootアカウントでデータベースにログインします。 ``` mysql -u root -p ``` 3. SQLでデータベース(Implem.Pleasanter)を削除、再作成を行い、データベースからログアウトします。 ``` drop database `Implem.Pleasanter`; create database `Implem.Pleasanter` collate utf8mb4_general_ci; quit; ``` 4. リストアのコマンドを実行します。この手順では /backup ディレクトリ配下のバックアップファイルでデータベースを復元します。 ``` mysql -u root -p Implem.Pleasanter < /backup/Implem.Pleasanter.dump ``` ### 2. 異なる環境へリストア データベースは、上記「同じ環境へリストアを行う場合」と同様の手順で移行します。アプリケーションが該当データベースにアクセスする際に使用するMySQLユーザアカウントは、SQLで新規作成します。 #### 1. データベースの移行 1. 移行先でMySQLにログインします。 ``` mysql -u root -p ``` 2. SQLでデータベース(Implem.Pleasanter)作成を行い、データベースからログアウトします。 ``` create database `Implem.Pleasanter` collate utf8mb4_general_ci; quit; ``` 3. 移行先でリストアのコマンドを実行します。この手順では移行先の /migrate ディレクトリ配下のバックアップファイルでデータベースを移行します。 ``` mysql -u root -p Implem.Pleasanter < /migrate/Implem.Pleasanter.dump ``` #### 2. MySQLユーザアカウントの追加 1. 移行先でMySQLにログインします。 ``` mysql -u root -p ``` 2. SQLでMySQLのユーザアカウントを2件追加し、データベースからログアウトします。 ※このSQLでは、ユーザマニュアルのインストール手順で作成したMySQLのユーザアカウントと同一のユーザアカウントを移行先のデータベース上に作成します。 ``` create user '【Ownerのユーザ名】'@'localhost' identified by '【Ownerのパスワード文字列】'; grant create, alter, index, drop on `【データベース名】`.* to '【Ownerのユーザ名】'@'localhost'; grant select, insert, update, delete, create routine, alter routine on `【データベース名】`.* to '【Ownerのユーザ名】'@'localhost' with grant option; create user '【Userのユーザ名>'@'localhost' identified by '【Userのパスワード文字列>'; grant select, insert, update, delete, create routine, alter routine on `【データベース名】`.* to '【Userのユーザ名】'@'localhost'; quit; ``` 上記SQLにおける可変部の設定値は下記の通りです。 |可変部|設定例|説明| |:--|:--|:--| |データベース名|Implem.Pleasanter|上記「 データベースの移行 」で追加したデータベース名| |Ownerのユーザ名|Implem.Pleasanter_Owner|[Rds.json](/ja/manual/rds-json)の"OwnerConnectionString"のUIDと一致する文字列。#ServiceName#部分は上記「データベース名」に置き換えること| |Ownerのパスワード文字列|SetAdminsPWD|[Rds.json](/ja/manual/rds-json)の"OwnerConnectionString"のPWDと一致する文字列| |Userのユーザ名|Implem.Pleasanter_User|[Rds.json](/ja/manual/rds-json)の"UserConnectionString"のUIDと一致する文字列。#ServiceName#部分は上記「データベース名」に置き換えること| |Userのパスワード文字列|SetUsersPWD|[Rds.json](/ja/manual/rds-json)の"UserConnectionString"のPWDと一致する文字列| ##### 作成するSQLの例 例:[Rds.json](/ja/manual/rds-json)に記載されている接続情報が以下の設定である場合 ``` "OwnerConnectionString": "Server=localhost;Port=3306;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD", "UserConnectionString": "Server=localhost;Port=3306;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD", ``` 上記の[Rds.json](/ja/manual/rds-json)の設定にもとづくMySQLユーザアカウント作成SQLの例: ``` create user 'Implem.Pleasanter_Owner'@'localhost' identified by 'SetAdminsPWD'; grant create, alter, index, drop on `Implem.Pleasanter`.* to 'Implem.Pleasanter_Owner'@'localhost'; grant select, insert, update, delete, create routine, alter routine on `Implem.Pleasanter`.* to 'Implem.Pleasanter_Owner'@'localhost' with grant option; create user 'Implem.Pleasanter_User'@'localhost' identified by 'SetUsersPWD'; grant select, insert, update, delete, create routine, alter routine on `Implem.Pleasanter`.* to 'Implem.Pleasanter_User'@'localhost'; ``` #### 3. 外部からMySQに接続するためのMySQLユーザアカウントの追加 WebサーバとDBサーバを分離した構成にする場合は、以下の手順を参照して外部からMySQに接続するためのユーザアカウントを追加します。 **Ver.1.4.18.0以降の場合** 〈追加手順〉 [WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.18.0以降)](mysql-connecting-host-description) └1. 新規環境構築手順 **Ver.1.4.17.1以前の場合** 〈追加手順〉 [WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.17.1以前)](mysql-create-user-by-sql) └【共通手順】外部接続用のユーザアカウントを追加するSQLの構文 なお、「[WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.17.1以前)](mysql-create-user-by-sql)」対象のプリザンターのバージョンはver1.4.10.0以降です。ver1.4.9.xではMySQLのインストール先と異なるホストでプリザンターを運用することはできないため、ご注意ください。 ## 対応バージョン |対応バージョン|内容| |:--|:--| |1.4.9.0 以降|MySQLへの対応に伴いFAQを新規作成| |1.4.10.0 以降|「異なる環境へリストアを行う場合」に「外部からMySQに接続するためのMySQLユーザアカウントの追加」Ver.1.4.17.1以前の場合の手順を追加| |1.4.18.0 以降|「異なる環境へリストアを行う場合」に「外部からMySQに接続するためのMySQLユーザアカウントの追加」Ver.1.4.18.0以降の場合の手順を追加|
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.