XamppのMySQLとローカルのMySQLを共存させるためにしたこと

<h2>はじめに</h2>
タイトル通りでXamppのMySQLとローカルのMySQLの共存に困ったのでメモです。

※Windows環境です
<h2>前提</h2>
背景として仕事でXamppのMySQLを使うため設定を弄れない！！
→好きに設定を弄りたいのでローカルにMySQLをいれよう！と思ったのが発端です。

<strong>以下がXamppのMySQLの設定(弄れない)</strong>

<pre>&gt;status
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8</pre>
実はこの設定だとWindowsのターミナルがutf8で入力されない(cp932)ため日本語をINSERTできません。

参考：<a href="https://teratail.com/questions/26559">mysqlで日本語を入力するとテーブル内で文字が表示されない</a>
<h2>ローカルにとりあえずMySQLをインストール</h2>
仕事で使う設定を弄るわけにはいかないので、別環境を構築します。

公式からMySQLをインストールしてセットアップ。

サービス作成
<pre>C:\mysql-5.6.24-winx64\bin &gt; mysqld -install
Service successfully installed.</pre>
起動
<pre>$ net start mysql
$ mysql -v                                         
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.6.24 MySQL Community Server (GPL)
$ mysql -u root // ログイン可能

&gt;status
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    <span style="color: #ff0000;"><strong>cp932</strong></span>
Conn.  characterset:    <strong><span style="color: #ff0000;">cp932</span></strong></pre>
<span style="color: #ff0000;"><strong>→これで日本語もターミナルからインサートできるようになりました。</strong></span>
<h2>ただし、このままだとXamppが起動できなくなる</h2>
👇エラー内容

<img class="alignnone size-full wp-image-673" src="http://wechlog.xyz/wp-content/uploads/2020/08/42-2.jpg" alt="" width="827" height="119" />

ためしにportを変えてみるも直らず。。。

<span style="color: #ff0000;"><strong>どうやらエラーにも書いてあるようにサービスが邪魔している模様。</strong></span>
<h2>サービスの名前を変えて作り直す</h2>
サービスの確認　<a href="https://dev.mysql.com/doc/refman/5.6/ja/windows-start-service.html">参考</a>

<img class="alignnone size-full wp-image-674" src="http://wechlog.xyz/wp-content/uploads/2020/08/43-2.jpg" alt="" width="839" height="157" />

👆net startするとここが実行中になります。

コマンドプロンプト(管理者権限)でサービスを削除する。
<pre>&gt;sc delete MySQL
[SC] DeleteService SUCCESS</pre>
サービスを作り直す
<pre>&gt;mysqld -install MySQL56</pre>
<img class="alignnone wp-image-4561" src="https://chobimusic.com/wp-content/uploads/2020/08/44.jpg" alt="" width="845" height="162" />

注意：サービス作る際、システム環境変数は以下のようにXamppではなくローカル側にすること。
<div>
<pre>C:\mysql-5.6.24-winx64\bin</pre>
起動
<pre>&gt;net start mysql56
MySQL56 サービスを開始します.
MySQL56 サービスは正常に開始されました。</pre>
</div>
<h2>同時にMySQLを起動する(ポート番号を変えればOK)</h2>
Dockerでポート3306
<pre>$ docker-compose up -d mysql nginx
Recreating laradock_docker-in-docker_1 ... done
Recreating laradock_mysql_1 ... done
Recreating laradock_workspace_1 ... done
Recreating laradock_php-fpm_1 ... done
Recreating laradock_nginx_1 ... done</pre>
ローカルは3307

※my.iniのportを3307にするだけ。
<pre>&gt;net start mysql56
MySQL56 サービスを開始します.
MySQL56 サービスは正常に開始されました。</pre>
Xamppは3308

※xampp配下のmy.iniの2か所を修正
<pre>[client]
# password       = your_password
port            = 3308
socket          = "C:/xampp/mysql/mysql.sock"

# Here follows entries for some specific programs
# The MySQL server

[mysqld]
port= 3308</pre>
<img class="alignnone size-full wp-image-4562" src="https://chobimusic.com/wp-content/uploads/2020/08/45.jpg" alt="" width="900" height="208" />

確認

<img class="alignnone wp-image-4563" src="https://chobimusic.com/wp-content/uploads/2020/08/46-1.jpg" alt="" width="697" height="821" />

👆同時に3つ起動できた◎

※Xamppのphpmyadminが使えなくってしまったので、GUIを使いたい際はWorkbenchで確認する予定です。