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

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

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

執筆者:

関連記事

SPAMチェック for OCN の開発

前回、Thunderbirdプラグインの概要を書いたので、今回は開発したプラグインについて書きます。 SPAMチェック for OCNとは 以下の機能を持ったThunderbirdのアドオン(プラグイ …

svelteをチュートリアルしてみる

年末の休みは、svelteのチュートリアルをしてみました。なんとなくやはりそう?なので。 svelteとは Webアプリのフロントエンド(UI)用フレームワークです。要するにReactみたいなもんです …

Go 言語で作る!単一バイナリで動くモダンな Web UI アプリケーション

はじめに Web アプリケーションを開発する際、アーキテクチャの選択は常に悩ましい問題です。「巨大なモノリスは開発が進むにつれて複雑化し、マイクロサービスは管理が煩雑になる…。」そんなジレンマを抱えて …

SimpleHTTPSAuthUploadServer というPython用モジュールを書いた

書いた動機 リモート開発になっているので、遠くのホストにあるファイルをお手軽に見たい、取ってきたいor編集したい、というニーズが、私の中であります。ftpなんか使わず、全部ブラウザでやりたいわけです。 …

PHP7.2 からPHP 7.4にアップデート

なんとなくやってみようかと思いました。 $ yum install –enablerepo=remi-php74 php $ systemctl restart nginx $ systemctl …

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