Инструменты пользователя

Инструменты сайта


software:development:ps_pycharm:mysql:mysql

Это старая версия документа!


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

  1. mysql-server-8.0 — этот пакет нужен практически во всех случаях. Он содержит исполняемые файлы сервера баз данных MySQL, клиенты и настройки системной базы данных.
  2. 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.

Плюсы:

  • Простота в использовании.
  • Обширный функционал.
  • Безопасность.
  • Масштабируемость.
  • Скорость.

Минусы:

  • Недостаточная надежность.
  • Низкая скорость разработки.


Ссылки и Примечания

Файлы для загрузки

Только авторизованные участники могут оставлять комментарии.
software/development/ps_pycharm/mysql/mysql.1708878737.txt.gz · Последнее изменение: vladpolskiy