1. Введение в MySQL
MySQL — система управления реляционными базами данных. Она была разработана шведской компанией MySQL AB, а затем приобретена Oracle. MySQL — одна из самых популярных систем управления реляционными базами данных на данный момент. С точки зрения WEB-приложений MySQL является лучшей СУБД ( Система управления реляционными базами данных) — система управления базами данных, одно из прикладных программ системы управления реляционными базами данных.
Язык SQL, используемый MySQL, является наиболее часто используемым стандартизированным языком для доступа к базам данных.
язык SQL
Операторы SQL в основном делятся на:
DQL: язык запроса данных, используемый для запроса выбора данных.
DML: язык манипулирования данными, добавление, изменение, удаление данных, вставка, обновление, удаление.
TPL: язык обработки транзакций, обработка транзакций, начало транзакции, фиксация, откат.
DCL: язык управления данными, для предоставления авторизации и восстановления разрешений, отзыв
DDL: язык определения данных, управляет созданием и удалением баз данных и таблиц.
CCL: язык управления указателями, выполнение операций с таблицами путем управления указателями, объявление курсора.
Для веб-программистов основное внимание уделяется созданию, удалению, обновлению и выбору данных.Они должны владеть навыками написания DQL и DML, а также уметь писать DDL для выполнения операций с базами данных и таблицами.Другие языки Просто понимать TPL, DCL и CCL
SQL: специальный язык, разработанный для реляционных баз данных.
нечувствительный к регистру
2. Преимущества и недостатки MySQL
преимущество:
Открытый исходный код и бесплатно: MySQL — это база данных с открытым исходным кодом, бесплатная и поддерживаемая большим сообществом пользователей.
Масштабируемость: MySQL поддерживает распределенную архитектуру и развертывание кластеров, что позволяет легко расширить пространство хранения и возможности обработки.
Портативность: возможность работать на различных системных платформах, таких как: Windows, Linux, Unix, MacOS.
Поддержка нескольких языков программирования: C, C++, Java и т. д.
Богатые интерфейсы: предоставляет API для таких языков, как C, C++, Eiffel, Java, Perl, PHP, Python, Rudy и TCL.
недостаток:
Горячее резервное копирование не поддерживается.
Поддержка кластеров слабая, недостаточно гибкая и эффективная.
Отсутствие стандартного механизма RI (Referential Integrity-RI).
Система безопасности, в основном сложная, а не стандартная, и меняется только тогда, когда mysqladmin вызывается для повторного чтения разрешений пользователя.
3. Среда приложения MySQL
По сравнению с Oracle, DB2 и SQL Server у него есть много недостатков, но это нисколько не снижает его популярность.Для частных лиц, а также малых и средних предприятий MySQL имеет более чем достаточно функций.Поскольку это программное обеспечение с открытым исходным кодом, это может значительно сократить расходы
LAMP, LNMP: операционная система Linux, Apache/Nginx в качестве веб-сервера, MySQL в качестве базы данных и PHP/perl в качестве интерпретатора сценариев на стороне сервера. Поскольку все они бесплатны или имеют открытый исходный код, использование этого метода исключает трудозатраты и затраты. ничего. За лишнюю копейку вы можете создать очень стабильный сайт.
4. Базовая архитектура MySQL.
MySQL в целом имеет архитектуру C/S, состоящую из двух частей: клиент/сервер.
1. Уровень соединения
(1) Предоставить протоколы подключения: TCP/IP, SOCKET
(2) Обеспечить проверку: пользователь, пароль, IP, SOCKET
(3) Предоставить выделенный поток подключения: получать пользовательский SQL и возвращать результаты
Используйте эту команду showprocesslist ; чтобы просмотреть основную ситуацию в потоке соединения.
2. Уровень SQL
(1) Получить оператор SQL, переданный с верхнего уровня
(2) Модуль проверки синтаксиса: проверить синтаксис оператора и его соответствие SQL_MODE
(3) Семантическая проверка: определить тип оператора SQL
(4) Проверка разрешений: есть ли у пользователя разрешения для таблицы базы данных
(5) Синтаксический анализатор: перед выполнением оператора он предварительно обрабатывает и генерирует дерево синтаксического анализа (план выполнения). Проще говоря, он генерирует несколько планов выполнения. (6) Оптимизатор: принимает решения и делает выбор на
основе несколько планов выполнения, полученных анализатором.Модель оптимальной
стоимости плана выполнения: производительность оценки потребления ресурсов (CPU IO MEM)
(7) Исполнитель: в соответствии с оптимальным планом выполнения выполнить оператор SQL и сгенерировать результат выполнения.Результат выполнения
: в xxxx позиция диска
(8 ) Обеспечить кеш запросов (не включен по умолчанию), и вместо функции кэша запросов будет использоваться redis tair
(9) Обеспечить ведение журнала (глава об управлении журналами): binlog, не включено по умолчанию.
3. Уровень механизма хранения (аналогично файловой системе в системах Linux).
Отвечает за получение данных с диска на основе результатов выполнения уровня SQL.
Шестнадцатеричные данные диска структурируются в таблицу с помощью SQL, и
выделенный поток уровня соединения возвращает их пользователю.