サイト構築 スクリプトのお勉強

MySQL for windowsでwordpress DBを再現する

投稿日:

はじめに

本当は、今はやりの生成AIとして、LLM(ローカルAPI)とMySQLのMCP Serverを使用してチャットシステムを作ろうと思ってました。

でも、その前に、そもそもLLMの対象となるMySQL DBさえなかったので、まずは、MCP Server の対象となるDBを設定します。

Linux上に設定してもいいですが、ここはあえてWindows上に設定します。

環境

MySQLを設定した環境は以下です。

  • Windows 11 Home 24H2
  • MySQL 8.4.5 LTS ( from https://dev.mysql.com/downloads/installer/ )
  • MySQL Workbench 8.0.42 ( from https://dev.mysql.com/downloads/workbench/ )

データ

このWordpressのバックアップデータ(dump.sql)を使用します。

前提

以下をインストールしていることを前提とします。インストール手順は割愛します。

  • MySQL for Windows
    • port 13316
    • ユーザ: root
    • パスワード: [設定時に入力したパスワード]
  • MySQL Workbench
    • 上記設定で接続

手順

手順は以下のように行いました。

MySQL Workbench を起動し、MySQL サーバーに接続

  • MySQL Workbench を起動します。
  • 登録済みの接続をダブルクリックするか、「+」ボタンをクリックして新しい接続を作成し、MySQL サーバーに接続します。

リストア先のデータベース作成

  • 左側の「Navigator」パネルにある「Administration」の下の「Schemas」をクリックします。
  • 右上のアイコン(新しいスキーマを作成)をクリックし、wordpress(データベース名)を入力して「Apply」をクリックし、データベースを作成します。作成したデータベースを右クリックします。

Data Import/Restoreを選択

  • AdministrationタブのMANAGEMENT->Data Import/Restoreを選択します

その際の図は以下です。

Import from Discタブからインポート

  • 「Import from Self-Contained File」ラジオボタンを選択します。
  • インポートする dump.sql ファイルを選択します。
  • 「…」ボタンをクリックし、リストアしたい dump.sql ファイルを選択して「Open」をクリックします。
  • 「Default Target Schema」のドロップダウンリストから、リストア先のデータベース名を選択します。

右下の「Start Import」ボタン押下でインポート開始

  • インポートが正常に完了すると、「Import of … has finished」のようなメッセージが表示されます。
  • 左側の「Navigator」パネルの「Schemas」の下にあるリストア先のデータベースを展開し、テーブルやデータが正しくインポートされているか確認します。

修正点: バックアップ(mysqldump)のコマンドオプション修正

ただし、上記だけではできませんでした。

そもそものバックアップするためのmysqldumpを以下のように起動する必要がありました。でないと色々エラーが出ます。”admin”は管理者である必要があります。そうでないと権限のないtableをdump出来ないようです。

$ /bin/mysqldump wordpress -u admim -p'BBBBB' --single-transaction --hex-blob --default-character-set=utf8mb4

終わりに

  • MySQL DBを設定することができました。
    • 実際の運用ではセキュリティ設定やバックアップを考える必要があると思います。
    • ここでは割愛しています。
  • 次はこのDBを使って何かしたいと思います。

-サイト構築, スクリプトのお勉強
-

執筆者:

関連記事

Python Django REST Framework(REST API)の作成

1.はじめに 今回は、pythonの「Django」というWebアプリケーションフレームワークを使用し、REST APIを作成します。作成するREST APIは、これから作るであろう、Nuxt.jsか …

Django2.2 でのMySQL5.1対応

「対応」と書きながら、思い切り回避ですが。 マイグレーション時のエラー マイグレーションしたら、以下のエラーになりました。 $ pipenv run python3 manage.py migrate …

Go言語でtarアーカイブコマンド作成

今所属している会社で1バイナリでとりあえず済ませる簡単ツールはgo言語で書くことが多いようです。 私はそれほどgo言語が好きというわけでもありませんが、勉強がてら、ディレクトリからtarアーカイブする …

Python3 – VCR.py でネットワーク系テストを簡単に作成する

1. 始めに python3で実装すると、モックテストをしたくなります。モックを使って、比較的簡単にテストできるからです。 問題はネットワーク系テスト モックテストで問題になるのは、外部に依存するテス …

no image

GLP-1 メディカルダイエット 58日目

メディカルダイエットして58日目の記録をしておこうと思います。 9回目。 今回は左腹(中部)に打ちました。痛いのはいまだに慣れない。。 土曜にゲットしてした 渋谷に行ってきたが、そこの医院には相変わら …

    google オプトアウト Click here to opt-out.