前提
データベース学習を始めたての者です。
未熟な点があるかもしれませんが、なるべくできることをしたうえで質問するよう心がけています。ご回答いただけると嬉しいです。
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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/06 06:16
2022/05/06 06:33