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

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でPKCS#12を使用して暗号/復号する

1. はじめに 仕事でVPN関係のシステム開発をすることになりました。まずは暗号機能の基本を思い出すため、Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムを作ってみようと思いま …

VMware player(workstation) から WSL2に乗り換える

いままで、VMware player(今のVMWare Workstation Player)上で、作って確認していたけど、いちいち起動するのがだるいです。 ついでにやたらとリソースを使用するので、こ …

Pipenvでライブラリ(*.whl)をキャッシュする方法

仕事でWebアプリケーションを作成した場合、ガンガンとライブラリのバージョンを上げたりはしない場合があります。 そして、長期間放置されるタイプのWebアプリケーションの場合、使用しているライブラリが、 …

CentOS7をアップデートしてみる

少し暇になったので、CentOS7をyum updateしようと思います。 いきなりエラー –> 依存性解決を終了しました。 エラー: パッケージ: gd-last-2.3.0-2.el7.remi …

JSON/YAMLファイル読み込み用ライブラリ比較(Python3)

はじめに Python3でプログラムを作る際、YAML/JSONを読みだす処理を多く作成します。そうすると、データが長く、そして複雑になる時があります。 ネストしてるデータを読みだすと以下のように a …

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