Это старая версия документа!
Содержание
MySQL 8.0.34
MySQL — свободная реляционная система управления базами данных (СУБД), разработанная и поддерживаемая корпорацией Oracle. База данных — это специально созданное хранилище важной информации, неотъемлемым атрибутом которого является удобный доступ ко всем хранящимся данным. Для обеспечения этого доступа используются так называемые системы управления базами данных или просто СУБД, представляющие собой особые приложения на базе определенной программной архитектуры.
Описание программы
Одной из самых популярных СУБД на сегодняшний день является MySQL, распространяемая свободно (с некоторыми ограничениями). Эта серверная система способна эффективно функционировать во взаимодействии с интернет-сайтами и веб-приложениями. При этом она проста в освоении, что лишь увеличивает ее популярность, особенно среди «айтишников»-любителей.
Примечательно, что результатом огромной популярности MySQL стало появление в интернете множества руководств по освоению системы, а также огромного количества всевозможных плагинов и расширений, упрощающих работу с этой системой. Это в свою очередь лишь придало системе еще большей популярности.
Несмотря на отсутствие некоторого функционала, имеющегося у других СУБД, MySQL обладает достаточно обширным разнообразием доступных инструментов для создания приложений.
Установка
Шаг 1 — Обновление системы
Важно, чтобы вы обновили систему, выполнив следующие команды apt:
sudo apt update sudo apt list --upgradable # получить список обновлений sudo apt upgrade
Шаг 2 — Поиск пакетов MySQL сервер
Используйте команду apt-cache или apt, как показано ниже, для поиска серверных и клиентских пакетов MySQL в Ubuntu 22.04 LTS. Например:
apt-cache search mysql-server
Система вернёт список доступных вариантов, включая сервер и клиент Oracle MySQL 8.xx и MariaDB 10.x в Ubuntu 22.04 LTS:
mysql-server - MySQL database server (metapackage depending on the latest version) mysql-server-8.0 - MySQL database server binaries and system database setup mysql-server-core-8.0 - MySQL database server binaries default-mysql-server - MySQL database server binaries and system database setup (metapackage) default-mysql-server-core - MySQL database server binaries (metapackage) mariadb-server-10.6 - MariaDB database server binaries mariadb-server-core-10.6 - MariaDB database core server files
Хотите узнать больше о пакете MySQL server под названием mysql-server-8.0? Выполните команду следующую команду apt, прежде чем устанавливать mysql:
apt info -a mysql-server-8.0
Package: mysql-server-8.0 Version: 8.0.29-0ubuntu0.22.04.2 Priority: optional Section: database Source: mysql-8.0 Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 1610 kB Provides: virtual-mysql-server Pre-Depends: adduser (>= 3.40), debconf, mysql-common (>= 5.5) Depends: lsb-base (>= 3.0-10), mysql-client-8.0 (>= 8.0.29-0ubuntu0.22.04.2), mysql-common (>= 5.8+1.0.4~), mysql-server-core-8.0 (= 8.0.29-0ubuntu0.22.04.2), passwd, perl:any (>= 5.6), psmisc, debconf (>= 0.5) | debconf-2.0 Recommends: libhtml-template-perl, mecab-ipadic-utf8 Suggests: mailx, tinyca Conflicts: mariadb-server-10.1, mariadb-server-10.3, mysql-server-5.7, virtual-mysql-server Homepage: http://dev.mysql.com/ Task: lamp-server Download-Size: 1391 kB APT-Sources: http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages Description: MySQL database server binaries and system database setup MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use. . This package contains all the infrastructure needed to setup system databases. Package: mysql-server-8.0 Version: 8.0.28-0ubuntu4 Priority: optional Section: database Source: mysql-8.0 Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 1603 kB Provides: virtual-mysql-server Pre-Depends: adduser (>= 3.40), debconf, mysql-common (>= 5.5) Depends: lsb-base (>= 3.0-10), mysql-client-8.0 (>= 8.0.28-0ubuntu4), mysql-common (>= 5.8+1.0.4~), mysql-server-core-8.0 (= 8.0.28-0ubuntu4), passwd, perl:any (>= 5.6), psmisc, debconf (>= 0.5) | debconf-2.0 Recommends: libhtml-template-perl, mecab-ipadic-utf8 Suggests: mailx, tinyca Conflicts: mariadb-server-10.1, mariadb-server-10.3, mysql-server-5.7, virtual-mysql-server Homepage: http://dev.mysql.com/ Task: lamp-server Download-Size: 1386 kB APT-Sources: http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages Description: MySQL database server binaries and system database setup MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use. . This package contains all the infrastructure needed to setup system databases.
mysql-server-8.0 vs mysql-server-core-8.0
- mysql-server-8.0 — этот пакет нужен практически во всех случаях. Он содержит исполняемые файлы сервера баз данных MySQL, клиенты и настройки системной базы данных.
- mysql-server-core-8.0 — этот пакет включает двоичные файлы сервера, но не содержит всей инфраструктуры, необходимой для настройки системных баз данных. Так что это более полезно для тех, кто настраивает контейнеры Linux (Docker, LXD и прочие) и не нуждается во всех этих вещах, таких как клиенты mysql.
Шаг 3 — Установка пакета MySQL 8 сервер
Давайте установим MySQL сервер версии 8.0 на Ubuntu 22.04 LTS:
sudo apt install mysql-server-8.0
Пример сеанса установки:
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following package was automatically installed and is no longer required: libfreetype6 Use 'apt autoremove' to remove it. The following additional packages will be installed: libcgi-fast-perl libcgi-pm-perl libclone-perl libencode-locale-perl libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common mysql-server-core-8.0 Suggested packages: libdata-dump-perl libipc-sharedcache-perl libbusiness-isbn-perl libwww-perl mailx tinyca The following NEW packages will be installed: libcgi-fast-perl libcgi-pm-perl libclone-perl libencode-locale-perl libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common mysql-server-8.0 mysql-server-core-8.0 0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded. Need to get 28.6 MB of archives. After this operation, 240 MB of additional disk space will be used. Do you want to continue? [Y/n] y
Установка пароля для учётной записи root
Для установки пароля учётной записи root, запустите:
sudo mysql
Затем выполните sql запрос для установки пароля My7Pass@Word_9_8A_zE для учётной записи 'root@localhost'. В имени учётной записи, после @ указывается с какого адреса будет обращаться пользователь. Для локальной машины указывают localhost или 127.0.0.1, для удалённой машины её IP-адрес. Для доступа из локальной или внешней сети %, но так делать не стоит без особой необходимости:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'My7Pass@Word_9_8A_zE'; exit
Основные файлы конфигурации и порты MySQL 8.xx
- mysql.service — Имя сервиса. Вы можете управлять им с помощью следующих команд systemctl:
sudo systemctl start mysql.service sudo systemctl stop mysql.service sudo systemctl restart mysql.service sudo systemctl status mysql.service <code> * **/etc/mysql/** — Основной каталог конфигурации MySQL сервера. * **/etc/mysql/my.cnf** — Файл конфигурации сервера баз данных MySQL. Отредактируйте файл .my.cnf ($HOME/.my.cnf), чтобы установить пользовательские параметры. Дополнительные настройки можно переопределить из следующих двух каталогов: <code>
Достоинства и недостатки
Переходим к обзору сильных и слабых сторон MySQL от Oracle.
Плюсы:
- Простота в использовании.
- Обширный функционал.
- Безопасность.
- Масштабируемость.
- Скорость.
Минусы:
- Недостаточная надежность.
- Низкая скорость разработки.
Ссылки и Примечания
Сайт разработчика
Страница загрузки
Краткое руководство по использованию репозитория MySQL APT
Репозиторий MySQL APT