MAMP MySQL ne reconnaît pas my.cnf valeurs dans OSX
-
27-10-2019 - |
Question
Essayer d'aller UTF8 de façon permanente et ne peut pas obtenir MAMP Installons de MySQL pour reconnaître my.cnf valeurs.
MAMP Version 2.0.5 (2.0.5)
MySQL 5.5.9
my.cnf:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
collation_server=utf8_general_ci
character_set_server=utf8
init-connect='SET NAMES utf8'
Emplacement du fichier:
/ Applications / MAMP / Library / Conf /
MySQL varibles au démarrage:
mysql> show variables where variable_name LIKE '%char%' OR variable_name LIKE '%colla%';
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /Applications/MAMP/Library/share/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+--------------------------+--------------------------------------------+
Commutation entre différents de db obtiendrez les valeurs _database
à UTF8, mais je ne peux pas sembler obtenir les deux options de _server
pour refléter UTF8 / utf8_unicode_ci:
use tsdb;
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /Applications/MAMP/Library/share/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
+--------------------------+--------------------------------------------+
Essayé
set global character_set_server = utf8;
etc, mais il n'a pas pris le redémarrage.
Ceci est ma première fois de jouer avec my.cnf donc je suis sûr que je donne sur quelque chose de fondamental. Est-il d'info manque de my.cnf, est la mauvaise syntaxe? Ou est-ordre important?
Merci.
La solution
Inclus skip-character-set-client-handshake
dans le groupe du fichier my.cnf [mysqld] et tout semble correctement configuré, UTF8 tout droit. Je ne suis toujours pas sûr pourquoi default-character-set=utf8
dans le groupe [client]
n'a pas ici, mais je suis un débutant si nous espérons que quelqu'un peut faire la lumière là-bas.
Vous devez créer my.cnf dans Applications / MAMP / IN et MAMP conf Pro, vous allez dans Fichier> Modifier le modèle> MySQL my.cnf pour faire les changements.
my.cnf:
# The MySQL server
[mysqld]
skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8
Résultats:
mysql> SHOW VARIABLES WHERE variable_name LIKE '%char%' OR variable_name LIKE '%colla%';
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /Applications/MAMP/Library/share/charsets/ |
| collation_connection | utf8_unicode_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+--------------------------+--------------------------------------------+
Cela a également résolu pourquoi les variables de mysqladmin étaient différents de MySQL lors de l'utilisation pour chaque SHOW VARIABLES
.