Architecture MySQL
Préface
Cet environnement est basé sur le système Centos 7.8 pour construire MySQL-5.7.14 pour
une construction spécifique, veuillez vous référer à la construction de l'environnement MySQL-5.7.14
Le jeu de caractères MySQL comprend deux concepts: le jeu de caractères (CHARACTER) et le classement (COLLATION):
Afficher le jeu de caractères MySQL
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
Afficher les règles de classement des caractères MySQL
mysql> show collation;
+--------------------------+----------+-----+---------+----------+---------+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci | big5 | 1 | Yes | Yes | 1 |
| big5_bin | big5 | 84 | | Yes | 1 |
| dec8_swedish_ci | dec8 | 3 | Yes | Yes | 1 |
| dec8_bin | dec8 | 69 | | Yes | 1 |
| cp850_general_ci | cp850 | 4 | Yes | Yes | 1 |
| cp850_bin | cp850 | 80 | | Yes | 1 |
| hp8_english_ci | hp8 | 6 | Yes | Yes | 1 |
| hp8_bin | hp8 | 72 | | Yes | 1 |
| koi8r_general_ci | koi8r | 7 | Yes | Yes | 1 |
| koi8r_bin | koi8r | 74 | | Yes | 1 |
| latin1_german1_ci | latin1 | 5 | | Yes | 1 |
| latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 |
... ...
1. Quels sont les suffixes de dénomination du jeu de caractères MySQL? Qu'est-ce que ça veut dire?
Les règles de dénomination des séquences de caractères MySQL sont les suivantes: commencer par le nom du jeu de caractères correspondant à la séquence de caractères, centre par le nom du pays (ou centre par général) et se terminer par ci, cs ou bin.
- ci: signifieInsensible à la casse
- cs: signifieSensible aux majuscules et minuscules
- bin signifie comparer selon une valeur codée binaire
Deuxièmement, modifiez le jeu de caractères MySQL
Nous modifions le jeu de caractères de la base de données en modifiant le fichier de configuration du service MySQL, qui prend effet globalement pour
visualiser le jeu de caractères de la base de données courante
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
Modifier le jeu de caractères de la base de données
#配置文件中添加设置内容
[root@mysql-server ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
Déconnectez-vous de la base de données, reconnectez-vous et vérifiez à nouveau le jeu de caractères de la base de données
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
Remarque: le jeu de caractères par défaut character_set_filesystem est binaire, ce qui est un paramètre fixe et ne peut pas être modifié