事の経緯
ある日突然我が家の『XAMPP』のMySQLがクラッシュしました。
XAMPPなんて正直[Windows7] > [Windows10] > [Windows11]と使ってきましたが初めての経験です。
色々ググったり、Copilotに聞いたりもしていたのですが復旧せず..
結局[mysql] > [data]ディレクトリのみ退避させ、XAMPPを再インストールで事なきを得ました。
これで安心と思い、日々使い続けてひと月程度経過したある日..
へ。
そうです。またクラッシュしたではありませんか!
今回も色々調べはしたものの復旧はせず、同じ方法で事なきを得ました。
しかし今回は重大な収穫がありましたよ..^^
実はXAMPPを2つ持っていたのですが(古い方を①、使用してる方を②とします)、何気に環境変数を確認したら。
何と。パスが①を向いてるではありませんか!
これがクラッシュの元凶だと断定(Copilotも激しく同意)し、パスを変更し①のXAMPPは物理削除。
これで我が家にも平穏な日々が訪れるのでした。めでたしめでたし..
時は軽く流れ、数日後。
へ。は?
そうですXAMPPのMySQLがクラッシュしているのです!!
もう意味が分かりません。
前述した様に[Windows7]の時代(下手したらもっと前かも)から、XAMPPなんて一度もクラッシュした事なかったのに。
何なんだこれは!
OS(Windows11)が悪いのか!? ゴメンナサイ.マイクロソフトサン..
LOOXが悪いのか!? ゴメンナサイ.フジツウサン..
XAMPPが劣化したのか!? ゴメンナサイ.カンケイカクショノカタ..
色々話が長くなってすいません。
以上がOracle MySQLを導入する経緯となります。
MySQLダウンロード
Oracle MySQLを導入した手順書となりますので、参考にして頂ければ幸いです。
○ ダウンロード
以下公式サイトよりダウンロードします。
https://dev.mysql.com/
遷移後、画面上部の「DOWNLOADS」をクリックします。
更に画面一番下「MySQL Community Server」をクリック。
以下画像の様な画面に遷移しますので、『Windows (x86, 64-bit), MSI Installer』を確認し【Download】を押下します。

次画面でOracleへのサインアップを求められた場合は、
リンク「No thanks, just start my download.」を押下すればダウンロードが開始されます。
『mysql-9.7.0-winx64.msi』が正常にダウンロードできました。
MySQLインストール
インストールは、先ほどダウンロードしたファイルをダブルクリックすれば開始となります。
○ 開始画面

[Next]ボタンを押下します。
○ 色々誓約事項
ここはチェックを入れて[Next]ボタンを押下します。
○ セットアップする内容を選択

[Typical]を押下します。
○ ファイナルアンサー
[Install]を押下します。
○ インストール実行中
※タスクバーにWindowsディフェンダー的な警告がでたら、アクティブにして「はい」を選択します

チェックボックス「Run MySQL Configurator」にチェックが入ってる事を確認し、[Finish]を押下します。
MySQLセットアップ
○ 設定画面
『MySQLインストール』の章で、最後に[Finish]を押下すると設定画面が立ち上がります。
[Next]を押下します。
○ データ格納場所
特に拘りがなければ、素直に初期値のまま[Next]を押下します。
○ Type and Networking

基本的にそのままで[Next]を押下します。
○ Acconts and Roles
rootの[パスワード]を決めます。
記入後[Next]を押下します。
○ Windows Service
基本的にそのままで[Next]を押下します。
○ Server File Permissions
基本的にそのままで[Next]を押下します。
○ Sample Databases
基本的何も選ばず(そのまま)[Next]を押下します。
○ Apply Configuration
[Execute]を押下するとチェックが走るので、終了したら[Next]を押下します。
○ Configuration Complete

[Finish]を押下すれば設定は完了です。
○ Pathの設定
素直にインストールした場合は以下辺りにMySQLがいるのでPathに追加します。
C:\Program Files\MySQL\MySQL Server x.x\bin
設定したらPCを再起動してください。
真の平穏な日々と思ったら
ついに「XAMPP」版、MySQLとの決別ができました。
DBの内容をリストアして、さっそくアプリを確認。
へ。
エラーです。アプリがエラーを表示しているではないですか!?
DB接続設定は問題ないし、リストアしたからDBの内容も一緒だぞ。
と思いエラー詳細を確認すると『おまえ、NOT NULL制約にNULL入れようとしてるぞ』的な内容。
はて。『対象のカラムは初期値ブランクの設定のハズだが』と思いつつもテーブル定義を確認。
すると何とDDLの対象定義が以下の様になっています。
hoge TEXT NOT NULL,
あれ?「DEFAULT ' '」が無いぞ?
色々ググって判明したのですが、XAMPPのMySQLと思っていたのは正式には『MariaDB』というものらしい。
公式であるOracle MySQLでは、TEXTカラムに対して[Ver8.0]から初期値を定義する事は禁止された様です。
※ただし[Ver8.0.13]からは初期値として【式】を入れる事はできる様です
何はともあれ原因が分かれば、プログラムをチョチョイといじって。
はい。出来上がり!
めでたしめでたし。