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

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を使って何かしたいと思います。

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

執筆者:

関連記事

Reflex(Python) をSQLite + ログイン機能付きで使ってみる

2024年現在のWebアプリ作成方法の一つとして、「PythonだけでWebアプリを完結する」作り方があります。 その一つとしてReflexというのがあります。 Reflexとは PythonのWeb …

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

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

Selenium + Python によるアップロードアプリの動作確認プログラム作成

私の周りでは、なぜかSeleniumが流行っている模様です。 私自身は、Webアプリ的なのも作ってますが、あまり使ってなかったので、使ってみようと思います。 前回作成した、Djangoのupload_ …

Thunderbird プラグイン WebExtensions版開発方法を調べた

初めに 最近のメールは、中身だけ見てもスパムかどうかわからないぐらい、精巧にできてます。 一方、各プロバイダでは対応ができていることも多いです。例えば、私はメールはOCNなのですが、OCNは&#822 …

Pythonでコマンド非同期起動

はじめに 小ネタです。 作成するプログラムの要件で、コマンドを起動して、そのコマンドが「継続」している/していないことを確認する、という要件があります。 具体的には、pingコマンドを普通に打つと、コ …

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