3分33秒MySQL前置き本来なら今の時期は情報セキュリティスペシャリストの勉強すべきなんだけど、なんかしばらく放置してたMySQLのテキストを最近読んでみたらなかなか面白くて本格的に学習し始めた。テキストはWindowsでXAMPPを利用する前提で書いてるんだけど、せっかくだからMacでやりたいと思いMBPRにXAMPPを入れて環境構築を行った。環境変数の設定まずWindowsのコマンドプロンプトにあたるMacのターミナルからmysqlコマンドを簡単に使うために、環境変数にmysqlのパスを入力する必要がある。環境変数」なんかで検索すると分かるんだけど、システム設定に書き込むWindowsと違い、Macの場合は「.bash_profile」というファイルにパスを書き込む必要がある。「.bash_profile」はホームフォルダに存在するのだが、自分で作成していない場合はファイル自体が存在していない事もある。自分の場合もファイルが無かったためターミナルからファイルを生成した。ここまでは良かったのだが「.bash_profile」を編集する際に、元々ファイルが無くてもターミナルが普通に動作していたので「PATH」にMySQLコマンドの位置だけ記述してターミナルを再起動してしまった。するとどうなるかというとMySQLコマンド以外のコマンド(cdは例外)へパスが通っていない状態でターミナルが起動するのだ...。「.bash_profile」を削除しようとしても、ターミナルからrmコマンドで削除するか、defaultコマンドでfinder上に表示させて削除するしかない。各コマンドへのパスが通っていないのでrmもdefaultもそのままでは利用できない...。ターミナル起動時にデフォルト?のPATHが表示されていたため、この中からVimの配置されたディレクトリを特定して以下コマンドで再度「.bash_profile」を編集してデフォルトのPATHの内容を加えて復旧出来た。環境変数の設定後はデータベースやらテーブルの作成までは問題無くできたんだけど、いざテーブルにデータをINSERTする段階になったのだがテキスト通り日本語をMySQLのコンソールに打ったところ日本語が文字化けした。入力したデータをSELECTで呼び出すとちゃんと日本語表示されるんだけどコンソールに入力して確定すると文字化け表示されてしまう...。テキストはWindows環境の前提なので環境構築の段階でShiftJISでの設定が書いてあった。こちらはMacということでUTF-8での設定を行ってたんだけどどうもこれではダメみたい。検索したところなんかEUC-JPならいけるっぽいという情報が見つかった。いうわけで早速MySQLとターミナルの文字コード設定を弄ってみた。以下がターミナルの設定、文字エンコーディングを「EUC」にした。Macの場合の設定ファイルは以下となる。/Applications/XAMPP/xamppfiles/etc/My.cnfこのファイルをエディタで開いて末尾など適当な場所に以下の記述を加える。ujisあとは設定が間違っていないかの確認だ。ターミナルでMySQLのコンソールを呼び出したら1statusコマンドで文字コードを確かめる。以下の様に表示されていればOKだ。これでMySQLコンソールに日本語を入力しても文字化けせず、INSERTした日本語データも正常に表示されるはず。良い方法がありそうな気もするけどとりあえずこんな感じで。