MySQL може да се опише като система за управление на база данни (с отворен код), обикновено инсталирана като част от известната ЛАМПА (Linux, Apache, MySQL, Perl/PHP/Python) стек. Той прилага Structured Query Language (съкратено от SQL) и управлява релационния модел за управление на своите данни.
Това е най-разпознаваемата технология в най-новата екосистема от големи данни. Често известна като най-известната база данни и в момента е ефективна и широко разпространена, независимо от производството. Ясно е, че всеки, който се занимава с общи ИТ или корпоративни данни, трябва поне да се стреми към общо запознаване с MySQL.
Всеки нов или незапознат с релационните системи може да изгради мощни, сигурни и бързи системи за съхранение на данни MySQL . Програмните интерфейси и синтаксис на MySQL също са идеални портали към огромния свят на други известни хранилища за структурирани данни и езици за заявки.
Преглед на MySQL
MySQL е написано в C++ и ° С . SQL анализаторът на MySQL е написан в yacc , обаче, той прилага домашно приготвен лексикален анализатор. MySQL се внедрява на различни системни платформи, включително Tru64, Sanos, SCO UnixWare, SCO OpenServer, SunOS, Symbian, Oracle Solaris, QNX, OS/2 Warp, OpenSolaris, OpenBSD, Novell NetWare, NetBSD, Microsoft Windows, macOS, Linux, IRIX, IBM i, eComStation, ArcaOS, HP-UX, FreeBSD, BSDi и AIX. Освен това е наличен MySQL порт към OpenVMS.
Клиентските библиотеки и самият сървърен софтуер на MySQL използват разпространението на двойно лицензиране. Те се предоставят под 2-ра версия на GPL или патентован лиценз. Поддръжка може да бъде получена с официалното ръководство. Освен това се предлага безплатна поддръжка в различни IRC форми и канали. Oracle улеснява платената поддръжка чрез своите MySQL Enterprise продукти . Освен това те се различават по обхвата на услугите и цената. Освен това съществуват номера на организации на трети страни, които предлагат услуги и поддръжка.
MySQL получи различни положителни отзиви и тези рецензенти забелязаха, че той „се прилага изключително добре в рамките на средния случай“ и че „интерфейсите на разработчиците са там и документацията“. Също така, той е проверен като истински многопотребителски, стабилен и бърз многонишков сървър на база данни на SQL.
Спецификации на MySQL
MySQL е релационен
Основният фактор е диференцирането на релационни бази данни чрез други дигитални диапазони за съхранение в начина, по който данните се управляват на високо ниво. Много бази данни като MySQL включват записи в силно кодифицирани, отделни и множество таблици, за разлика от една всеобхватна колекция или хранилища на неструктурирани или полуструктурирани документи.
- Това позволява на системите за релационни бази данни да използват по-добре действия като актуализиране на информация, извличане на данни или по-сложни действия като агрегиране.
- За всяко съдържание на базата данни се специфицира логически модел, като се уточняват например разрешените стойности в една колона, характеристики на изгледи и таблици или как индексите са свързани от две различни таблици.
- Няколко релационни модела са известни по различни причини.
- Те насърчават потребителите с декларативни и интуитивни езици за програмиране, като по същество инструктират базата данни какъв резултат се желае на езика.
- Той премества работата в SQL и RDBMS двигателите за по-добро спестяване и прилагане на логически правила на ценна работна ръка и ресурси.
Отворен код
Всяко предприятие или физическо лице може свободно да разширява, публикува, модифицира и използва кодовата база MySQL с отворен код на Oracle. Софтуерът е публикуван на GNU GPL (общ публичен лиценз) .
- За MySQL код, който изисква да бъде включен или интегриран в търговско приложение (или когато софтуерът с отворен код не е приоритет), много предприятия могат да закупят търговско лицензирано издание от Oracle.
- Тези алтернативи предлагат на предприятията допълнителна гъвкавост, ако решат да внедрят с MySQL .
- Общественият и обществено базиран характер на версиите с отворен код обогатяват онлайн културата на поддръжка и документация на MySQL, като същевременно гарантират, че новоразработените или поддържани възможности никога не се отклоняват твърде далеч от изискванията на потребителите.
MySQL е съвместим
MySQL е разработен, за да бъде съвместим с други архитектури и технологии, въпреки че често си сътрудничи с уеб услуги или интернет приложения. Системата за управление на релационни бази данни работи във всяка основна компютърна среда, включително Unix-базирана ОС, като безброй Linux дистрибуции, Windows , и macOS .
The клиент-сървър архитектура на MySQL уточнява, че може да поддържа редица бекендове и различни интерфейси за програмиране. Данните могат да бъдат мигрирани с MySQL към неговите разклонения ( MariaDB ) и повечето други системи за управление на релационни бази данни също поради езикови и архитектурни прилики.
- Установените миграционни инструменти на трети страни и Oracle допълнително позволяват на MySQL да премества данни към и през огромна колекция от общи системи за съхранение, но те са разработени да бъдат базирани на облак или локални.
- MySQL може да се използва в централизирани или разпределени, виртуализирани среди и дори е достъпен като библиотеки за изучаване на малки приложения за тестване.
- Широката съвместимост на MySQL с всеки друг софтуер и система го прави специфичен практичен избор на системи за управление на релационни бази данни в повечето случаи.
Лесен за използване
Може би парадигмата на таблицата е най-интуитивната и позволява по-голяма използваемост, въпреки че релационният характер на MySQL и твърдите структури за съхранение може да изглеждат ограничаващи. Всъщност, MySQL прави няколко потвърждения за поддръжка на огромния възможен набор от структури от данни, чрез стандартните, но богати типове време, дата, буквено-цифрови, цифрови и логически до по-напреднали геопространствени или JSON данни.
- Освен скъпо вградено събиране на функции и прости типове данни, екосистемата на MySQL също така съдържа набор от инструменти, които улесняват всичко - от управление на сървъра до анализ на данни и отчитане.
- Независимо от всеобхватната архитектура на системата за управление на релационни бази данни, потребителите могат да намерят MySQL аспект, който им позволява да кодифицират и моделират данни, както искат.
- MySQL остава най-простата технология за бази данни за използване и изучаване.
Характеристики на MySQL
MySQL се предоставя в две различни издания: the собствен корпоративен сървър и MySQL Community Server с отворен код. MySQL Enterprise Server е разделена от собствена серия разширения, които се инсталират като сървърните добавки, но разпространява системата за номериране на версията и е разработена с помощта на подобна кодова база.
Някои основни характеристики на версия 5.6 на MySQL са обяснени по-долу:
- Поддръжка на различни платформи
- Ан ANSI SQL 99 широко подмножество и разширения също.
- Съхранени процедури с процедурни езици, които почти се придържат към PSM/SQL.
- Изгледи с възможност за актуализиране
- Курсори
- Тригери
- Информационна схема
- На линия Език за дефиниране на данни (съкратено от DDL ), ако прилагате InnoDB Двигател за съхранение.
- Схема за производителност, която събира и комбинира статистика за производителността на заявките и изпълнението на сървъра за целите на наблюдението.
- Група от опции за SQL режим за контролиране на поведението по време на изпълнение, като строг режим за спазване на стандартите на SQL.
- Точки за запазване с транзакции, ако прилагате InnoDB Механизъм за съхранение (по подразбиране). Също така NDB Cluster Storage Engine поддържа транзакции.
- Кеширане на заявки
- Поддръжка на SSL
- Подизбори (напр. вложени SELECT )
- Вградена поддръжка за репликация
Виртуален синхрон: Самоуправляващите се групи на MySQL сървъра с поддръжка на няколко главни могат да бъдат внедрени с помощта на вградения плъгин на групова репликация или Клъстер от галери .
Ограничения на MySQL
Когато използвате няколко машини за съхранение, различни от InnoDB (по подразбиране) , тогава MySQL не отговаря на пълния SQL стандарт за някои от внедрените функционалности като препратки към външни ключове. Освен това ограниченията за проверка могат да бъдат анализирани, но избегнати от всяка система за съхранение преди 8.0.15 версия на MySQL.
Тригерите са ограничени до едно за време/действие до версия 5.7 на MySQL, което означава, че най-много един тригер може да бъде указан да се изпълнява след операция, т.е. ВМЪКНЕТЕ , и един преди ВМЪКНЕТЕ на подобна маса. Не могат да бъдат посочени тригери за изгледи.
На 19 януари 2038 г. вградените функции на базата данни MySQL като напр UNIX_TIMESTAMP върне 0 след 03:14:07 UTC . Наскоро беше направен опит за решаване на проблема, който беше назначен на вътрешната опашка.
Внедряване на MySQL
MySQL може да се инсталира и изгради ръчно с изходен код, но по-основно се инсталира с помощта на двоичен пакет, освен ако не са необходими уникални персонализации. Системата за управление на пакети може да получи и инсталира MySQL с минимални усилия, често са необходими допълнителни конфигурации за коригиране на настройките за оптимизация и сигурност на повечето Linux дистрибуции.
Приложение с висока наличност
Oracle MySQL осигурява приложения с висока наличност със смес от инструменти, включително MySQL обвивка и на MySQL рутер . Те се основават на инструменти с отворен код и групова репликация. MariaDB предоставя същата оферта за разлика от продуктите.
Как да рестартирам MySQL сървъра?
Можем да използваме командата, т.е. обслужване' за извършване на общи операции като стартиране, спиране и рестартиране на MySQL сървър в Ubuntu. Първо, трябва да влезем в нашия уеб сървър и да въведем една от следните команди.
Можем да въведем командата по-долу за стартиране на MySQL сървъра в Ubuntu:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Можем да въведем командата по-долу за спиране на MySQL сървъра в Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Можем да въведем командата по-долу за рестартиране на MySQL сървъра в Ubuntu:
$ sudo systemctl restart mysql.service
Можем да въведем командата по-долу за проверка на състоянието на MySQL сървъра в Ubuntu (независимо дали работи или не):
$ sudo systemctl status mysql.service