Tutoriel vidéo MySQLLa colonne présente la structure des connaissances avancées MySQL
Recommandé (gratuit) : Tutoriel vidéo MySQL
1 Introduction à MySQL
Vue d'ensemble
- MySQL est un système de gestion de bases de données relationnelles développé par le suédois MySQL AB et appartient actuellement à Oracle.
- MySQL est un système de gestion de base de données relationnelle qui conserve les données dans différentes tables au lieu de placer toutes les données dans un seul grand entrepôt, ce qui augmente la vitesse et améliore la flexibilité.
- Mysql est open source, vous n'avez donc pas besoin de payer de supplément.
- Mysql prend en charge les grandes bases de données. Peut gérer de grandes bases de données contenant des dizaines de millions d’enregistrements.
- MySQL utilise le formulaire standard du langage de données SQL.
- Mysql peut être utilisé sur plusieurs systèmes et prend en charge plusieurs langues. Ces langages de programmation incluent C, C++, Python, Java, Perl, PHP, Eiffel, Ruby et Tcl, etc.
- Mysql prend bien en charge PHP, qui est actuellement le langage de développement Web le plus populaire.
- MySQL prend en charge de grandes bases de données et entrepôts de données avec 50 millions d'enregistrements. Le fichier de table système 32 bits peut prendre en charge un maximum de 4 Go, et le système 64 bits prend en charge un fichier de table maximum de. 8 To.
- Mysql peut être personnalisé et adopte le protocole GPL. Vous pouvez modifier le code source pour développer votre propre système Mysql.
MySQL avancé implique des connaissances
2. Installation de la version MySQL Linux
Cette fois, MySQL 5.5 est installé et l'environnement d'installation est CentOS 6.5
- Adresse de téléchargement de la version Adresse de téléchargement du site officiel
- Télécharger
MySQL-Client- et MySQL-Serverhttp://downloads.skysql.com/archives/mysql-5.5/MySQL-server- 5.5 .16-1.rhel4.i386.rpm
- http://downloads.skysql.com/archives/mysql-5.5/MySQL-client-5.5.16-1.rhel4.i386.rpm
- http://downloads.skysql.com/archives/mysql-5.5/MySQL-devel-5.5.16-1.rhel4.i386.rpm
-
Vérifiez si le système actuel MySQL installé
- Commande de requête :
-
rpm -qa|grep -i mysql
Commande de suppression :
rpm -e --nodeps RPM包全名
Installer le serveur mysql ( Notez les conseils - )
Définir l'invite de mot de passe
Installer le client MySQL
- Afficher l'utilisateur MySQL et le groupe MySQL créés lors de l'installation de MySQL
-
# cat /etc/passwd | grep mysql
# cat /etc/group | grep mysql
Démarrer + arrêter le service MySQL
- Afficher l'état de démarrage et d'arrêt de MySQL :
-
# ps -ef | grep mysql
Démarrer et arrêter les opérations :
-
# /etc/init.d/mysql start
-
# /etc/init.d/mysql stop
ou
-
#service mysql start
#service mysql stop
Configurer le service de démarrage automatique MySQL
-
Configurer le service de démarrage automatique startup#chkconfig mysql on
Vérifier si le démarrage automatique est configuré# chkconfig --list | grep mysql
Modifier l'emplacement du fichier de configuration
- Copiez la
version 5.5 actuelle- :
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
Version 5.6-
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
Modifier le jeu de caractères et le chemin de stockage des données
- Afficher le jeu de caractères
show variables like 'character%';
show variables like '%char%';
-
Jeu de personnages-
- Par défaut, le client et le serveur utilisent latin1, donc les caractères seront tronqués.
- Modifiez le jeu de caractères et modifiez le fichier de configuration précédemment copié. (Code de suivi détaillé)
- Emplacement d'installation MySQL
- Afficher le répertoire d'installation sous Linux
ps -ef|grep mysql
路径 |
解释 |
备注 |
/var/lib/mysql/ |
mysql数据库文件的存放路径 |
/var/lib/mysql/atguigu.cloud.pid |
/usr/share/mysql |
配置文件目录 |
mysql.server命令及配置文件 |
/usr/bin |
相关命令目录 |
mysqladmin mysqldump等命令 |
/etc/init.d/mysql |
启停相关脚本 |
|
Emplacement d'installation de MySQL
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# 这一行需要设置字符集
default-character-set=utf8
# The MySQL server
[mysqld]
port = 3306
# 还有这三行
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
[mysql]
no-auto-rehash
# 还有这一行
default-character-set=utf8
3. Fichier de configuration MySQL
Fichier de configuration principal
- Journal binaire
- Réplication maître-esclave
- Journal des erreurs journal-erreur
- est désactivé par défaut, enregistrant les avertissements et messages d'erreur sérieux, des informations détaillées sur chaque démarrage et arrêt, etc.
- Journal du journal des requêtes
- est désactivé par défaut et enregistre les instructions SQL des requêtes. S'il est activé, cela réduira les performances globales de MySQL, car l'enregistrement des journaux. consomme également des ressources système
- Fichiers de données
- Deux systèmes
- fenêtres
- Vous pouvez choisir de nombreuses bibliothèques dans D:devSoftMySQLServer5. 5data directory
- Linux :
- Chemin par défaut
#cd /var/lib/mysql/
- Regardez toutes les bibliothèques du système actuel puis entrez
#ls -1F | grep ^d
-
fichier frm : stocke la structure de la table
- **fichier myd : ** stocke les données de la table
- **fichier myi : ** index de la table des magasins
- Comment configurer
- Windows : fichier my.ini
- Linux : /etc/my Fichier .cnf
4. Introduction à l'architecture logique Mysql
Aperçu
- Par rapport à d'autres bases de données, MySQL est un peu différent. Son architecture peut être utilisée dans de nombreuses applications différentes dans la scène et fonctionne bien. Principalement reflétée dans l'architecture du moteur de stockage, l'architecture du moteur de stockage plug-in sépare le traitement des requêtes des autres tâches système ainsi que le stockage et l'extraction des données . Cette architecture permet la sélection de moteurs de stockage appropriés en fonction des besoins métier et des besoins réels.
-
1. Couche de connexion
- La couche supérieure comprend certains clients et services de connexion, y compris la communication par sock locale et les grandes La plupart des communications similaires à TCP/IP sont mises en œuvre sur la base d'outils client/serveur. Il complète principalement certains traitements de connexion, authentification d'autorisation et solutions de sécurité associées. Le concept de pool de threads est introduit sur cette couche pour fournir des threads aux clients qui accèdent en toute sécurité via l'authentification. Des liens sécurisés basés sur SSL peuvent également être implémentés sur cette couche. Le serveur vérifie également les autorisations d'exploitation dont il dispose pour chaque client qui y accède en toute sécurité.
-
2. Couche de service
- L'architecture de la deuxième couche complète principalement la plupart des fonctions de service de base, telles que l'interface SQL, et complète les requêtes mises en cache. , Analyse SQL, optimisation et exécution de certaines fonctions intégrées. Toutes les fonctions du moteur de stockage croisé sont également implémentées dans cette couche, telles que les procédures, les fonctions, etc. Au niveau de cette couche, le serveur analysera la requête et créera l'arbre d'analyse interne correspondant, et terminera l'optimisation correspondante telle que déterminer l'ordre de la table de requête, s'il faut utiliser des index, etc., et enfin générer l'opération d'exécution correspondante. S'il s'agit d'une instruction select, le serveur interrogera également le cache interne. Si l'espace de cache est suffisamment grand, cela peut améliorer considérablement les performances du système dans un environnement gérant un grand nombre d'opérations de lecture.
-
3. Couche moteur
- Couche moteur de stockage Le moteur de stockage est réellement responsable du stockage et de l'extraction des données dans MySQL. communique avec le serveur via l'API Communiquer avec le moteur de stockage. Différents moteurs de stockage ont des fonctions différentes, nous pouvons donc choisir en fonction de nos besoins réels. Nous présenterons MyISAM et InnoDB plus tard
-
4 Couche de stockage
- La couche de stockage de données stocke principalement les données dans un système de fichiers fonctionnant sur un nu. périphérique ci-dessus et terminez l’interaction avec le moteur de stockage.
Description de la requête
- Tout d'abord, le processus de requête mysql est à peu près :
- mysql client Établissez une connexion avec le serveur mysql via le protocole, envoyez l'instruction de requête, vérifiez d'abord le cache de requête, s'il y a un succès, renvoyez le résultat directement, sinon effectuez l'analyse de l'instruction
- Il y a une série de prétraitements , comme vérifier si l'instruction est écrite correctement, puis optimiser la requête (par exemple s'il faut utiliser l'analyse d'index, terminer plus tôt si la condition est impossible), générer un plan de requête, puis démarrer le moteur de requête, commencer à exécuter la requête , appelez l'API depuis le moteur de stockage sous-jacent pour obtenir des données, et enfin les renvoyer au client. Comment stocker des données et comment récupérer des données sont tous liés au moteur de stockage.
- Ensuite, mysql utilise l'index BTREE par défaut, et une direction générale est que peu importe la façon dont vous lancez SQL, du moins pour l'instant, mysql n'utilise qu'au plus un index dans la table.
5. Moteur de stockage Mysql
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!