質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

解決済

MySQL my.iniからのデフォルト照合順序の変更が反映されない

tbs316
tbs316

総合スコア1

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

1回答

0評価

0クリップ

148閲覧

投稿2022/05/06 05:19

前提

データベース学習を始めたての者です。
未熟な点があるかもしれませんが、なるべくできることをしたうえで質問するよう心がけています。ご回答いただけると嬉しいです。

MySQLの使い方を、DB Onlineの下記ページを見ながら進めています。
https://www.dbonline.jp/mysql/myini/index6.html

Windows 10 Pro 64bit
mysql Ver 8.0.29 for Win64 on x86_64 (MySQL Community Server - GPL)
の環境で行なっています。

my.iniファイルを修正することでデフォルト照合順序の変更をしようとしています。
確認はMySQLコマンドラインツールで行なっています。

my.iniファイルはCドライブ直下に配置しており、
管理コマンドプロンプトから"C:\my.ini"を実行することでメモ帳から編集、保存をしています。

my.iniの具体的な修正としては
[mysqld]グループの下に

下記オプションと値を追加しました。
collation-server=utf8mb4_bin

補足情報にmy.iniファイルの[mysqld]グループの原文の一部を記します。

実現したいこと

my.iniファイルを修正することで
デフォルト照合順序をutf8mb4_binに変更したい。

発生している問題・エラーメッセージ

まずテスト用データベースを下記のように作成し、

mysql> create database mytest; Query OK, 1 row affected (0.01 sec)

my.iniファイルの変更後、デフォルト照合順序の変更が反映されているか確認するために、
下記をMySQLコマンドラインツールに入力し、Enterしたところ、

SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'mytest';

変更が反映されず、下記のように表示されました。

mysql> SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'mytest'; +----------------------------+------------------------+ | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | +----------------------------+------------------------+ | utf8mb4 | utf8mb4_0900_ai_ci | +----------------------------+------------------------+ 1 row in set (0.00 sec)

試したこと

  • コマンドプロンプトを開きなおしてから実行する。
  • Windowsキー → サービス →MySQL 80 → サービスの再起動 を行ってから再度コマンドを開いて実行する。
  • my.iniファイルの場所をC:\Program Files\MySQL\MySQL Server 8.0\binに移動する。
  • my.iniファイル内、[mysqld]グループの

sql-mode=”STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

という記述をコメントアウトして管理者モードで実行する。

いずれも発生している問題に記した内容と同様の結果でした。

補足情報(FW/ツールのバージョンなど)

my.iniファイルの[mysqld]グループの一部:

[mysqld] # The next three options are mutually exclusive to SERVER_PORT below. # skip-networking # enable-named-pipe # shared-memory # shared-memory-base-name=MYSQL # The Pipe the MySQL Server will use. # socket=MYSQL # The TCP/IP Port the MySQL Server will listen on port=3306 # Path to installation directory. All paths are usually resolved relative to this. # basedir="C:/Program Files/MySQL/MySQL Server 8.0/" # Path to the database root datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data # The default character set that will be used when a new schema or table is # created and no character set is defined character-set-server=utf8mb4 # 照合順序の変更 collation-server=utf8mb4_bin

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。