Установка MySQL в Ubuntu 20.04
Предыдущая версия настоящего обучающего модуля составлена Хейзел Вирдо
Введение
MySQL — это система управления базами данных с открытым исходным кодом, которая, как правило, устанавливается в составе популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Она использует реляционную модель и язык структурированных запросов (SQL) для управления данными.
В этом обучающем руководстве мы рассмотрим, как установить 8-ю версию MySQL на сервер Ubuntu 20.04. В результате вы получите рабочую реляционную базу данных, которую вы сможете использовать для создания следующего сайта или приложения.
Предварительные требования
Для данного обучающего руководства вам потребуется следующее:
Шаг 1 — Установка MySQL
На Ubuntu 20.04 вы можете установить MySQL с помощью репозитория пакетов APT. На момент написания этого руководства в репозитории Ubuntu по умолчанию доступна версия MySQL 8. 0.19.
Для установки обновите индекс пакетов на вашем сервере, если еще не сделали этого:
Затем выполните установку пакета mysql-server
:
- sudo apt install mysql-server
В этом случае установка MySQL будет выполнена без запроса настройки пароля или внесения других изменений в конфигурацию. Поскольку при этом установка MySQL остается уязвимой, мы исправим это в следующем шаге.
Шаг 2 — Настройка MySQL
Для новых установок MySQL необходимо запустить встроенный в СУБД скрипт безопасности. Этот скрипт меняет ряд наименее защищенных опций, используемых по умолчанию, для таких функций, как, например, удаленный вход для пользователя root и тестовые пользователи.
Запустите скрипт безопасности с помощью команды sudo
:
- sudo mysql_secure_installation
При этом откроется серия диалогов, где вы сможете внести некоторые изменения в параметры безопасности установки MySQL. В первом запросе вам предложат определить, хотите ли вы настроить плагин валидации пароля, который вы можете использовать для проверки надежности вашего пароля MySQL.
Если вы решите использовать плагин валидации пароля, скрипт предложит вам выбрать уровень валидации пароля. Самый высокий уровень, который можно установить, указав
, требует, чтобы ваш пароль был длиной не менее восьми символов и содержал строчные, заглавные буквы, цифры и специальные символы.
Output
Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Независимо от того, захотите ли вы выполнить настройку плагина валидации пароля, в следующем запросе вас попросят установить пароль для пользователя root MySQL. Введите и подтвердите безопасный пароль по вашему выбору:
Output
Please set the password for root here.
New password:
Re-enter new password:
Если вы использовали плагин валидации пароля, то получите информацию о надежности вашего нового пароля. Затем скрипт спросит, хотите ли вы продолжить использовать пароль, который вы только что ввели, или хотите ввести новый пароль. Если вы удовлетворены надежностью пароля, который вы только что ввели, введите
для продолжения:
Output
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Далее вы можете использовать клавиши Y
и ENTER
, чтобы принять ответы по умолчанию для всех последующих вопросов. Выбрав эти ответы, вы удалите ряд анонимных пользователей и тестовую базу данных, отключите возможность удаленного входа пользователя root и загрузите новые правила, чтобы внесенные изменения немедленно активировались в MySQL.
Обратите внимание, что несмотря на то, что вы установили пароль для root user MySQL, аутентификация с помощью пароля при подключении к оболочке MySQL для этого пользователя не настроена. Если необходимо, вы можете изменить эту настройку в шаге 3.
Шаг 3 — Настройка аутентификации и прав пользователя (опционально)
В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для root пользователя MySQL по умолчанию устанавливается аутентификация с помощью плагина auth_socket
, а не пароля. Во многих случаях это обеспечивает более высокую безопасность и удобство, однако это также может осложнить ситуацию, если вам нужно предоставить доступ к пользователю внешней программе (например, phpMyAdmin).
Для использования пароля для подключения к MySQL в качестве root пользователя необходимо изменить метод аутентификации с auth_socket
на другой плагин, например caching_sha2_password
или mysql_native_password
. Для этого откройте командную строку MySQL через терминал:
Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+------------------------------------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ | debian-sys-maint | $A$005$lS|M#3K #XslZ.xXUq.crEqTjMvhgOIX7B/zki5DeLA3JB9nh0KwENtwQ4 | caching_sha2_password | localhost | | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | root | | auth_socket | localhost | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ 5 rows in set (0.00 sec)
В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина auth_socket
. Для настройки учетной записи root на использование метода аутентификации с помощью пароля запустите команду ALTER USER
, чтобы изменить используемый плагин аутентификации и установить новый пароль.
Не забудьте изменить password
на более надежный пароль и убедитесь, что эта команда заменит пароль root, заданный на шаге 2:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Примечание. Предыдущее выражение ALTER USER
устанавливает аутентификацию root user MySQL с помощью плагина caching_sha2_password
. Согласно официальной документации MySQL, caching_sha2_password
считается предпочтительным плагином аутентификации MySQL, так как он обеспечивает более защищенное шифрование пароля, чем более старая, но все еще широко используемая версия mysql_native_password
Однако многие приложения PHP, например phpMyAdmin, работают ненадежно с caching_sha2_password
. Если вы планируете использовать эту базу данных с приложением PHP, возможно, вам потребуется установить аутентификацию root с помощью mysql_native_password
:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Затем выполните команду FLUSH PRIVILEGES
, которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:
Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что auth_socket
:
- SELECT user,authentication_string,plugin,host FROM mysql. user;
Output
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$lS|M#3K #XslZ.xXUq.crEqTjMvhgOIX7B/zki5DeLA3JB9nh0KwENtwQ4 | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | caching_sha2_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
5 rows in set (0. 00 sec)
Результаты данного примера показывают, что теперь root user MySQL проходит аутентификацию с помощью caching_sha2_password
. Убедившись в этом на своем сервере, вы можете выйти из оболочки MySQL:
В качестве альтернативного варианта кто-то может посчитать, что для его рабочего процесса лучше подходит подключение к MySQL с помощью специально выделенного пользователя. Для создания такого пользователя откройте оболочку MySQL еще раз:
Примечание. Если у вас активирована аутентификация root с помощью пароля, как описано в предыдущих параграфах, вам потребуется использовать другую команду для доступа к оболочке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:
Создайте нового пользователя и придумайте для него надежный пароль:
- CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:
- GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;
Обратите внимание, что на данный момент вам не нужно запускать команду FLUSH PRIVILEGES
снова. Данная команда нужна только при изменении предоставленных таблиц с применением таких выражений, как INSERT
, UPDATE
или DELETE
. Поскольку вы создали нового пользователя вместо изменения существующего, команда FLUSH PRIVILEGES
не требуется.
После этого выйдите из оболочки MySQL:
В заключение проверим установку MySQL.
Шаг 4 — Тестирование MySQL
Независимо от способа установки MySQL должна запускаться автоматически. Чтобы проверить это, проверьте ее статус.
- systemctl status mysql. service
Результат будет выглядеть примерно так:
Output
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-04-21 12:56:48 UTC; 6min ago
Main PID: 10382 (mysqld)
Status: "Server is operational"
Tasks: 39 (limit: 1137)
Memory: 370.0M
CGroup: /system.slice/mysql.service
└─10382 /usr/sbin/mysqld
Если MySQL не запускается, можно активировать ее с помощью команды sudo systemctl start mysql
.
В качестве дополнительной проверки вы можете попробовать подключиться к базе данных с помощью инструмента mysqladmin
, который позволяет запускать команды администрирования. Например, эта команда позволяет подключиться к MySQL в качестве пользователя root (-u root
), запросить пароль (-p
) и обеспечить возврат версии.
- sudo mysqladmin -p -u root version
Результат должен выглядеть примерно следующим образом:
Output
mysqladmin Ver 8.0.19-0ubuntu5 for Linux on x86_64 ((Ubuntu))
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.19-0ubuntu5
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 10 min 44 sec
Threads: 2 Questions: 25 Slow queries: 0 Opens: 149 Flush tables: 3 Open tables: 69 Queries per second avg: 0.038
Это означает, что система MySQL запущена и работает.
Заключение
Теперь на вашем сервере установлена базовая версия MySQL. Ниже представлены несколько примеров следующих возможных шагов:
Как установить MySQL в Ubuntu 18.
04Введение
MySQL является системой управления базами данных с открытым исходным кодом и обычно используется, как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). MySQL использует реляционную базу данных и SQL (Structured Query Language, язык структурированных запросов) для управления данными.
Короткая версия установки очень проста: достаточно обновить индекс пакетов, установить пакет mysql-server
, а затем запустить скрипт настройки безопасности.
- sudo apt update
- sudo apt install mysql-server
- sudo mysql_secure_installation
Это руководство описывает процесс установки MySQL версии 5.7 на сервер с Ubuntu 18.04. Если вам необходимо обновить установленную ранее версию MySQL до версии 5.7, вы можете ознакомиться с руководством по обновлению MySQL до версии 5.7.
Необходимые условия
Перед тем, как начать следовать шагам, описанным в этом руководстве, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере с Ubuntu 18. 04. Вы можете сделать это используя нашу статью о первичной настройке сервера на Ubuntu 18.04.
Шаг 1 — Установка MySQL
По умолчанию в репозиторий пакетов APT в Ubuntu 18.04 включена только последняя версия MySQL. На момент написания этого руководства это MySQL 5.7.
Для установки этой версии обновите индекс пакетов apt
командой:
Затем установите пакет:
- sudo apt install mysql-server
Эта команда установит MySQL, но при этом вам не будет предложено задать пароль или внести какие-либо правки в конфигурацию. Поскольку это делает установку небезопасной, рассмотрим далее, как настроить установленную MySQL.
Шаг 2 — Настройка MySQL
В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удалённый вход для пользователей root и пользователи, созданные по умолчанию. В старых версиях MySQL вам было необходимо также инициализировать директорию данных вручную, теперь это делается автоматически.
Выполните скрипт безопасности командой:
- sudo mysql_secure_installation
В результате выполнения этого скрипта вам будет предложено внести изменения в настройки безопасности вашей MySQL. Сначала вам будет предложено установить плагин валидации паролей (Validate Password Plugin), который позволяет тестировать надёжность паролей MySQL. Далее вам предложат задать пароль для пользователя root вашей установки MySQL. Выберите надёжный пароль и введите его два раза.
Далее вы можете выбирать Y
и нажимать ENTER
для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи и тестовые базы данных, будет отключена возможность удалённого входа для root пользователей, после чего все внесённые изменения будут применены к вашей установке MySQL.
Для инициализации директории данных MySQL вам необходимо использовать mysql_install_db
для версий меньше, чем 5.7.6, и mysqld --initialize
для версии 5.7.6 и более поздних версий. При этом, если вы устанавливаете MySQL для Debian как описано на шаге 1, директория данных будет создана автоматически и вам нет необходимости что-то делать. Если вы при этом попытаетесь всё равно выполнить команду создания директории данных, вы увидите следующую ошибку:
Вывод
mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists)
. . .
2018-04-23T13:48:00.572066Z 0 [ERROR] Aborting
Обратите внимание, несмотря на то, что вы задали пароль для пользователя root для MySQL, этот пользователь не настроен для аутентификации по паролю при подключении к оболочке (shell) MySQL. Вы можете изменить эту настройку на следующем шаге 3.
Шаг 3 — (Опционально) Настройка аутентификации и привилегий
На серверах с Ubuntu, использующей MySQL 5. 7 (и более поздние версии), пользователь root в MySQL по умолчанию аутентифицируется с помощью плагина auth_socket
, а не по паролю. Это в целом более безопасно и удобно во многих случаях, но не в случае, когда вам необходимо организовать доступ к MySQL со стороны сторонней программы, например, phpMyAdmin.
Для того, чтобы пользователь root в MySQL мог использовать пароль для входа в систему вам необходимо изменить метод аутентификации с auth_socket
на mysql_native_password
. Для этого войдите в оболочку MySQL следующей командой:
Далее проверьте, какой метод аутентификации используется для каждого из ваших пользователей MySQL:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
Вывод
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql. session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
В этом примере ваш пользователь root использует аутентификацию с помощью плагина auth_socket
. Для изменения этой настройки на использование пароля используйте следующую команду ALTER USER
. Не забудьте изменить password
на ваш сильный пароль:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Далее выполните команду FLUSH PRIVILEGES
, которая применит внесённые изменения:
Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket
для авторизации:
- SELECT user,authentication_string,plugin,host FROM mysql. user;
Вывод
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Как можно видеть на представленном выводе теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:
В некоторых случаях бывает полезно использовать для входа в MySQL отдельного пользователя. Для создания такого пользователя войдите в оболочку MySQL:
Внимание: Если вы включили вход по паролю для пользователя root, как описано выше, вам потребуется использовать другую команду для входа в оболочку MySQL. Команда выше запустит оболочку с привилегиями обычного пользователя, для получения привилегий администратора вам необходимо выполнить следующую команду:
Далее создайте нового пользователя и задайте для него надёжный пароль:
- CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
Далее задайте для пользователя подходящий набор привилегий. Например, вы можете дать пользователю доступ ко всем таблицами в базе данных, а также права на добавление, изменение и удаление пользовательских привилегий следующей командой:
- GRANT ALL PRIVILEGES ON *. * TO 'sammy'@'localhost' WITH GRANT OPTION;
Обратите внимание на то, что в этом случае вам нет необходимости выполнять команду FLUSH PRIVILEGES
. Эта команда необходимо только тогда, когда вы изменяете таблицы доступа (grant tables) используя команды INSERT
, UPDATE
или DELETE
. Поскольку вы создали нового пользователя, а не редактируете права существующего пользователя, команда FLUSH PRIVILEGES
не является необходимой.
После этого, выйдите из оболочки MySQL:
Теперь мы можем протестировать нашу установку MySQL.
Шаг 4 — Тестирование MySQL
Вне зависимости от того, как именно вы установили MySQL, она должна запуститься автоматически. Проверим это следующей командой:
- systemctl status mysql.service
Вы увидите вывод, похожий на этот:
Вывод
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql. service; enabled; vendor preset: en
Active: active (running) since Wed 2018-04-23 21:21:25 UTC; 30min ago
Main PID: 3754 (mysqld)
Tasks: 28
Memory: 142.3M
CPU: 1.994s
CGroup: /system.slice/mysql.service
└─3754 /usr/sbin/mysqld
Если MySQL не запущена, вы можете запустить её с помощью команды sudo systemctl start mysql
.
Для дополнительной проверки вы можете попробовать подключиться к базе данных с помощью инструмента mysqladmin
, который представляет собой клиент, позволяющий запускать административные команды. Например, эта команда приказывает подключиться к MySQL в качестве пользователя root (-u root
), запросить пароль (-p
) и вернуть версию.
- sudo mysqladmin -p -u root version
Вы увидите вывод, похожий на этот:
Вывод
mysqladmin Ver 8.42 Distrib 5.7.21, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.21-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 30 min 54 sec
Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Queries per second avg: 0.006
Это означает, что MySQL запущена и работает.
Заключение
Теперь на вашем сервере установлена и настроена MySQL. Вот несколько примеров того, что можно сделать дальше:
Установки и настройка MySQL 5.5.23
Статья описывает процесс установки и первоначальной настройки на локальном компьютере, работающим под операционной системой Windows XP, прекрасно зарекомендовавшей себя связки программ, используемых при создании, как крупных, так и средних веб-проектов: Apache, MySQL, PHP и phpMyAdmin.
Авторы: Виктор Волков, Иван Шумилов
Содержание:
Сайт разработчика: http://www.mysql.com/
Документация: http://dev.mysql.com/doc/
Дистрибутив: http://www.mysql.com/downloads/mysql/
Прямая ссылка: mysql-5.5.23-win32.msi
Скачайте самораспаковывающийся архив «Windows (x86, 32-bit), MSI Installer» и запустите его.
Установка MySQL в картинках
Далее будут показаны те диалоговые окна, в которых необходимо делать какой-либо выбор.
Нажмите в данном окне выборочную установку компонентов «Custom».
Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.
Теперь приступим к настройке MySQL сервера.
Выбираем детализированную настройку — «Detailed Configuration».
Отмечаем пункт «Developer Machine». Мы ведь разработчики – правда? 🙂
Выбрав пункт «Multifunctional Database», вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
Выбор диска и директории для хранения таблиц типа InnoDB.
В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе «Decision Support (DSS)/OLAP», максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.
Отметив «Enable TCP/IP Networking» мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив «Enable Strict Mode», мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
Обратите внимание на выставление настроек данного окна. Отметив «Manual Selected Default Character Set / Collation» и выбрав из ниспадающего меню «cp1251» определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.
Если отметить «Install As Windows Service», сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, уберите галочку рядом с «Launch the MySQL Server automatically» — мы будем запускать сервер вручную. Также поставьте галочку рядом с «Include Bin Directory in Windows PATH» — это позволит установить видимость директории «bin», для командной строки.
Установите пароль пользователя «root». Советую сделать это. Поставьте хотя бы какой-нибудь простенький пароль, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.
В данном окне обратите внимание на строку «Write configuration file», которая указывает на месторасположение конфигурационного файла MySQL — «my.ini», далее, его необходимо будет немного отредактировать.
Откройте для редактирования файл «my.ini».
- В раздел [client], после строки:
port=3306
Добавьте строку определяющую каталог содержащий файлы описания кодировок:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5. 5/share/charsets» - В раздел [mysqld], после строки:
port=3306
Добавьте следующие две строки, первая из которых вам уже известна, вторая – устанавливает кодировку в которой данные передаются MySQL:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets»
init-connect=»SET NAMES cp1251″ - Далее, найдите строку:
default-storage-engine=INNODB
Замените изначально устанавливаемый тип таблиц на MYISAM:
default-storage-engine=MYISAM
Сохраните изменения и закройте файл «my.ini».
Установка и настройка сервера MySQL – завершена.
Установка MySQL 8 Community на Windows 10 – пошаговая инструкция для начинающих | Info-Comp.ru
Приветствую всех посетителей сайта Info-Comp.ru! Сегодня мы с Вами подробно рассмотрим процесс установки бесплатной редакции MySQL 8 Community на операционную систему Windows 10.
Что такое MySQL?
MySQL – бесплатная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет компания Oracle.
MySQL очень популярная СУБД, ее активно используют в интернете, как систему хранения данных у сайтов, иными словами, подавляющее большинство сайтов в интернете для хранения своих данных используют именно MySQL.
Заметка! Что такое СУБД.
Недавно я проводил анализ данных нескольких официальных рейтингов популярности СУБД и другой статистической информации, с целью определить, какая СУБД действительно является самой популярной, и, как результат, MySQL на текущей момент является самой популярной СУБД в мире. Ознакомиться со всеми результатами моего анализа можете в материале – ТОП 5 популярных систем управления базами данных.
Редакции MySQL 8
MySQL 8 выпускается в нескольких редакциях.
MySQL Standard Edition
MySQL Standard Edition – это редакция со стандартным функционалом, она позволяет реализовать высокопроизводительные, надежные и масштабируемые приложения.
MySQL Enterprise Edition
MySQL Enterprise Edition – данная редакция включает в себя полный функционал и набор дополнительных инструментов, которые предназначены для достижения самой высокой масштабируемости, безопасности и надежности.
MySQL Cluster Carrier Grade Edition
MySQL Cluster (CGE) – это распределенная база данных, сочетающая линейную масштабируемость и высокую доступность. Она предназначена для критически важных приложений.
MySQL Community Edition – это бесплатная редакция, которую можно абсолютно свободно скачать с официального сайта MySQL. Редакция поддерживает весь необходимый функционал для реализации полноценных интернет ресурсов.
Подробнее о редакциях MySQL можете почитать на официальном сайте – https://www.mysql.com/products/
Пошаговая установка MySQL 8 на Windows 10
Сейчас мы пошагово рассмотрим весь процесс установки MySQL 8 в редакции Community на операционную систему Windows 10.
Кроме сервера MySQL мы еще установим и MySQL Workbench – это инструмент, с помощью которого осуществляется разработка баз данных и администрирование MySQL Server.
Примечание! Для установки MySQL 8 на Windows 10 требуется среда Microsoft .NET Framework 4.5.2 или более новая версия.
Шаг 1 – Скачивание программы MySQL 8 для Windows 10
Чтобы перейти к установке MySQL 8, сначала необходимо скачать дистрибутив этой программы.
Скачать MySQL 8 в редакции Community можно, как было уже отмечено, абсолютно свободно с официального сайта, вот ссылка на страницу загрузки – https://dev.mysql.com/downloads/installer
После перехода на страницу Вы можете выбрать способ загрузки дистрибутива, нам предлагают два способа:
- Скачать Web-установщик – небольшая по размеру программа, которая загружает все необходимые компоненты для установки MySQL. Можно использовать для установки MySQL на компьютерах, где есть интернет;
- Скачать полный установщик – дистрибутив программы MySQL, который включает все необходимые компоненты. В данном случае Вы можете использовать этот дистрибутив для установки MySQL на компьютере как с доступом, так и без доступа к интернету. Например, Вы можете скачать этот файл на компьютере, где есть интернет, а использовать его для установки MySQL на другом компьютере, который без интернета.
Для примера давайте скачаем полный дистрибутив программы MySQL, для этого нажимаем «Download» напротив соответствующего пункта.
Потом нам предлагают авторизоваться, используя учетные данные Oracle, если они есть, или зарегистрироваться, тем самым создать учетную запись Oracle. Однако если Вы этого не хотите, то в нижней части есть ссылка «No thanks, just start my download», нажав на которую сразу начнется загрузка MySQL.
Нажимаем на эту ссылку и ждем окончания загрузки.
В результате у Вас должен загрузится файл mysql-installer-community-8.0.18.0.msi размером примерно 415 мегабайт.
Шаг 2 – Запуск установки и выбор типа установки MySQL
Далее запускаем скаченный файл, в итоге запустится программа установки MySQL. Сначала выбираем тип установки.
Нам предлагают несколько вариантов:
- Developer – это вариант по умолчанию, он предполагает установку всего того, что требуется разработчику, это и MySQL Server, и MySQL Workbench и другие инструменты для работы с MySQL;
- Server Only – этот вариант предполагает установку только сервера MySQL;
- Client Only – этот вариант предполагает установку только клиентской части для работы с MySQL Server, т.е. серверная часть устанавливаться не будет;
- Full – установка всех включённых в дистрибутив компонентов;
- Custom – выборочная установка, в данном случае Вы можете установить только то, что нужно Вам.
Вариант по умолчанию, т.е. Developer, подойдет для большинства случаев, особенно если Вы устанавливаете MySQL на домашнем компьютере для каких-то своих целей (изучение MySQL, изучение SQL и так далее).
Я оставляю этот вариант, нажимаем «Next».
Примечание! Интерфейс программы установки, как и интерфейс программы MySQL Workbench на английском языке.
Шаг 3 – Проверка и установка дополнительных компонентов
Затем программа установки проверит систему на наличие компонентов, которые требуются для работы некоторых расширений MySQL. В моем случае программа установки выдала два предупреждения для расширений MySQL For Excel и MySQL For Visual Studio. Если Вы планируете пользоваться этими компонентами, то Вам нужно устранить эти замечания. Для этого в свою очередь Вам необходимо установить эти компоненты (т.е. выделить их и нажать «Execute», некоторые могут установиться и автоматически).
Однако если Вы не будете использовать расширения MySQL For Excel и MySQL For Visual Studio, то можете сразу нажать «Next».
Заметка! Установка Visual Studio 2019 Community на Windows 10.
Программа установки выдаст предупреждение, связанное с отсутствием некоторых компонентов, жмем «Yes».
Шаг 4 – Установка компонентов MySQL
Все готово для установки MySQL, на данном шаге программа установки выдаст все компоненты MySQL, которые готовы к установке, нажимаем «Execute».
В результате начнется последовательная установка компонентов MySQL.
Шаг 5 – Завершение установки компонентов MySQL
Когда напротив каждого пункта появится зеленая галочка, установка будет завершена.
Нажимаем «Next».
Шаг 6 – Настройка компонентов MySQL
Все компоненты установлены, но не все настроены, поэтому нам необходимо их настроить. Программа установки покажет, какие конкретно компоненты требуется настроить. В нашем случае это MySQL Server, MySQL Router и Samples and Examples.
Нажимаем «Next».
Шаг 7 – Настройка MySQL Server (параметр High Availability)
Сначала нам обязательно необходимо настроить MySQL Server.
Первым делом настраиваем параметр «High Availability» (Высокая доступность), который отвечает за то, как будет установлен MySQL сервер. В нашем случае, как и в большинстве других, требуется стандартный «Standalone MySQL Server» (Автономный сервер) – это классический вариант установки MySQL Server.
Поэтому выбираем первый пункт и жмем «Next».
Шаг 8 – Настройка MySQL Server (Type and Networking)
Далее настраиваем тип сервера и сеть. В нашем случае можно оставить все по умолчанию:
- Тип – Development Computer;
- Протокол – TCP/IP;
- Порт – 3306;
- Галочку «Open Windows Firewall ports for network access» необходимо поставить.
В случае необходимости Вы можете более тонко настроить MySQL Server, использовав для этого расширенные параметры. Чтобы это сделать, поставьте галочку «Show Advanced and Logging Options».
Для продолжения жмем «Next».
Шаг 9 – Настройка метода аутентификации в MySQL Server
8 версия MySQL поддерживает новый метод аутентификации, который и рекомендовано использовать, оставляем как есть и нажимаем «Next».
В случае необходимости Вы можете выбрать второй пункт, который использовался в MySQL 5.
Шаг 10 – Настройка пользователей MySQL
После этого нам нужно придумать пароль для пользователя root (это главный администратор MySQL).
Кроме этого, мы можем добавить дополнительных пользователей, чтобы это сделать, необходимо нажать на кнопку «Add User».
И ввести необходимые данные:
- User Name – вводим имя пользователя;
- Host – оставляем «All Hosts»;
- Role – выбираем роль пользователя;
- Password и Confirm Password – придумываем и вводим пароль, который будет у этого пользователя.
Нажимаем «ОК».
После этого пользователь будет создан.
Нажимаем «Next» для продолжения.
Шаг 11 – Настройка службы MySQL в Windows
Теперь нам необходимо настроить службу MySQL, которая будет работать в Windows.
Мы можем задать:
- Windows Service Name – Имя службы;
- «Start the MySQL Server at System Startup» – если эта галочка стоит, то служба MySQL будет запускаться вместе с запуском Windows;
- Run Windows Service – от имени какой учетной записи будет работать служба MySQL в Windows. Standard System Account – это системная учетная запись.
Можно все оставить по умолчанию, я так и поступаю.
Нажимаем «Next».
Заметка! «Режим бога» в Windows – что это такое и как его включить в Windows 10?
Шаг 12 – Применение параметров MySQL Server
Все параметры MySQL Server настроены, однако нам еще нужно их применить и сохранить. Для этого на следующем окне нажимаем «Execute».
Шаг 13 – Завершение настройки MySQL Server
Когда все галочки будут проставлены и отобразится сообщение «Successful», процесс будет завершен, нажимаем «Finish».
Статус MySQL Server будет изменен на «Configuration complete».
Чтобы продолжить настройку, нажимаем «Next».
Шаг 14 – Настройка MySQL Router
В данном случае нам предлагают настроить маршрутизатор MySQL, однако это делать необязательно, можем сразу нажать «Finish».
Для того чтобы перейти к настройке следующего компонента, нажимаем «Next».
Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.
Шаг 15 – Установка тестовых данных на MySQL
Далее мы можем установить тестовые данные на MySQL Server, например, для обучения. Чтобы это сделать, вводим пароль пользователя Root и нажимаем «Check» для проверки, если подключение установлено, значит все хорошо и можно продолжать.
Нажимаем «Next».
Чтобы применить все параметры и начать извлечение тестовых данных на MySQL Server, нажимаем «Execute».
Процесс будет завершен, когда галочки будут проставлены и отобразится сообщение «Successful».
Нажимаем «Finish».
Шаг 16 – Завершение настройки компонентов MySQL
Все компоненты настроены. Нажимаем «Next».
Шаг 17 – Завершение всего процесса установки и настройки MySQL
MySQL Server и все необходимые для работы с ним компоненты установлены и настроены: это и MySQL Workbench, и различные коннекторы, и документация, и даже тестовая база данных.
Чтобы сразу же запустить MySQL Workbench после завершения установки, поставьте галочку «Start MySQL Workbench after Setup».
Нажимаем «Finish».
Заметка! Установка Microsoft SQL Server 2019 Express на Windows 10.
Запуск MySQL Workbench
После установки MySQL в меню Windows 10 появятся все необходимые ярлыки, которые Вы можете использовать. Например, для запуска среды «MySQL Workbench 8» можно использовать соответствующий ярлык.
Заметка! Если Вас интересует SQL и T-SQL, рекомендую пройти наши курсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
Подключение к MySQL используя MySQL Workbench
Чтобы подключиться к серверу MySQL и посмотреть на объекты базы данных, на таблицы, представления и так далее, запустите MySQL Workbench, например, как указано выше. В результате откроется MySQL Workbench, где на стартовой странице у нас уже будет одно подключение к локальному серверу, которое будет осуществляться от имени пользователя root.
Нажимаем на него.
Затем вводим пароль, чтобы сохранить его и не вводить каждый раз при подключении мы можем поставить галочку «Save password in vault».
Нажимаем «ОК».
В итоге мы подключимся к серверу, и чтобы посмотреть на схему данных, нам в окне навигатора необходимо перейти на вкладку «Schemas».
Кроме того, мы можем скрыть ненужные окна, для этого можно использовать специальные значки в правой верхней части среды MySQL Workbench.
У нас отобразится схема данных, теперь мы можем посмотреть, какие объекты есть в БД и, например, учиться писать SQL запросы.
Для наглядности я скрыл боковое окно.
В данном примере мы послали запрос SELECT на выборку данных из таблицы address. Как видите, данные вернулись и все работает.
Заметка! Еще больше статей, посвященных различным СУБД, можете найти в разделе сайта – Базы данных и язык SQL.
Видео-инструкция – Установка MySQL 8 на Windows 10
Заметка! Для комплексного изучения языка SQL рекомендую пройти онлайн-курс по основам SQL для начинающих. На курсе применяется моя авторская последовательная методика обучения, а язык SQL рассматривается как стандарт. Курс включает много практики: онлайн-тестирование, задания и многое другое.
У меня на этом все, надеюсь, материал был Вам полезен, удачи и пока!
Нравится128Не нравитсяУстановка и настройка MySQL в Ubuntu 20.04
MySQL — это реляционная СУБД, которая использует язык запросов SQL. В инструкции мы рассмотрим, как запустить MySQL на Ubuntu 20.04. Для этого нам потребуется облачный сервер.
Создание облачного сервера
Создать облачный сервер с операционной системой Ubuntu 20.04 можно в Облачной платформе Selectel.
Откройте панель управления, перейдите в раздел Серверы и нажмите Создать сервер.
В качестве источника выберите в списке Ubuntu 20.04.
Сконфигурировать сервер можно любым образом, подробнее о настройках в Базе знаний.
Чтобы в дальнейшем можно было подключиться к серверу извне, создайте плавающий IP-адрес. Для этого в выпадающем списке Сеть выберите Плавающий IP-адрес.
Подготовка системы
Перед установкой MySQL сервер нужно подготовить: подключиться к нему по SSH и настроить брандмауэр с помощью UFW.
Подключение по SSH
Для подключения по SSH в терминале локальной машины введите:
ssh root@server_ip
IP-адрес сервера находится на вкладке Порты на странице сервера.
Пароль для root-пользователя, который требуется при аутентификации, можно найти на вкладке Консоль.
Настройка брандмауэра в Ubuntu
После подключения настройте брандмауэр так, чтобы он разрешал подключения к серверу по SSH.
Обновите индекс пакетов:
sudo apt update
Установите утилиту UFW для настройки брандмауэра:
sudo apt install ufw
Проверьте список профилей UFW:
sudo ufw app list
В списке должен быть указан OpenSSH:
Available applications:
OpenSSH
Разрешите подключения по SSH:
sudo ufw allow OpenSSH
Активируйте брандмауэр:
sudo ufw enable
Убедитесь, что брандмауэр активен, и включены профили OpenSSH:
sudo ufw status
Вывод будет выглядеть так:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Теперь можно переходить к установке и настройке MySQL на облачном сервере.
Установка MySQL
Установить MySQL на Ubuntu 20.04 можно через пакет:
sudo apt install mysql-server
На момент публикации инструкции по умолчанию ставится версия 8.0.23.
Вы можете проверить установленную версию:
mysql --version
Начальная настройка MySQL
Запустите скрипт для повышения безопасности MySQL:
sudo mysql_secure_installation
Система запросит разрешение на установку плагина валидации паролей. Этот плагин проверяет безопасность пароля и позволяет пользователю ставить только достаточно защищенные пароли.
Если вы хотите установить этот плагин, введите в консоли y или Y.
Есть три уровня защищенности пароля: LOW (0), MEDIUM (1) и STRONG (2). Чтобы задать уровень пароля, нажмите соответствующую цифру, например, 2 для сильного пароля. Даже если вы на предыдущем шаге не установили плагин, система запросит вас поставить пароль для пользователя root — введите его два раза.
Если плагин установлен, будет показан уровень надёжности пароля Estimated strength of the password.
Далее система задаст ряд вопросов: хотите ли вы использовать этот пароль для продолжения работы, удалить ли всех анонимных пользователей, запретить удаленно подключаться как root, удалить тестовую БД и доступ к ней, перезагрузить таблицы с привилегиями. Вы можете ответить на все эти вопросы положительно: y, Y или Enter.
Если в выводе появится All done!, то пароль для root успешно настроен.
По умолчанию вход в MySQL в Ubuntu не будет происходить по паролю. Чтобы настроить подключение через пароль, следуйте инструкции ниже.
Настройка аутентификации и управление пользователями
Аутентификация по паролю
Для root-пользователя аутентификация в MySQL происходит с использованием плагина auth_socket. Чтобы при подключении запрашивался пароль, нужно изменить плагин.
Войдите в оболочку MySQL:
sudo mysql
Посмотрите, какой плагин используется:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Для пользователя root используется auth_socket:
Назначьте пользователю root новый плагин caching_sha2_password. Также установите пароль того уровня надежности, который вы задали ранее (на шаге Базовая настройка MySQL) — это может быть, например, тот же самый пароль. Введите его вместо password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Некоторые приложения для работы с MySQL (например, phpMyAdmin) не будут надежно работать с плагином caching_sha2_password. В таком случае лучше установить другой плагин — mysql_native_password.
Активируйте изменения:
mysql> FLUSH PRIVILEGES;
Проверьте, что для пользователя root плагин изменился на caching_sha2_password:
mysql> SELECT user,authentication_string,plugin,host FROM mysql. user;
Закройте командную строку MySQL:
mysql> exit
Дополнительный пользователь (опционально)
Вы можете создать дополнительного пользователя для работы с MySQL.
Если вы установили аутентификацию по паролю, изменилась команда для подключения к консоли MySQL:
mysql -u root -p
Если у вас не установлена аутентификация по паролю, то для входа в MySQL используйте:
sudo mysql
Создайте нового пользователя и поставьте пароль:
mysql> CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
Если вы хотите дать пользователю полный доступ к определенной базе данных, используйте:
mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';
Закройте консоль MySQL:
mysql> exit
Тестирование MySQL
Посмотрите статус MySQL:
systemctl status mysql
В выводе должен быть индикатор зеленого цвета и статус active:
● mysql. service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-03-22 09:57:07 UTC; 2h 39min ago
Main PID: 2630 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 1107)
Memory: 331.4M
CGroup: /system.slice/mysql.service
└─2630 /usr/sbin/mysqld
По какой-то причине сервис может быть не активен. В таком случае запуск MySQL в Ubuntu происходит через команду:
sudo systemctl start mysql
Если вы хотите дополнительно проверить работу MySQL, используйте инструмент mysqladmin — он нужен для администрирования MySQL-сервера. Подключитесь к MySQL и запросите пароль от root:
sudo mysqladmin version -u root -p
Если вывод выглядит подобным образом, то MySQL успешно установлена и готова к использованию:
mysqladmin Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.23-0ubuntu0.20.04.1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 2 hours 47 min 34 sec
Threads: 2 Questions: 28 Slow queries: 0 Opens: 141 Flush tables: 3 Open tables: 60 Queries per second avg: 0.002
Удаление MySQL
Если по какой-то причине вам нужно удалить MySQL из Ubuntu 20.04, сначала остановите сервисы:
sudo systemctl stop mysql
Удалите пакеты MySQL:
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
Удалите всех пользователей:
sudo deluser --remove-home mysql
sudo delgroup mysql
Удалите файлы базы данных, конфигурационные файлы и логи:
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
Удалите оставшиеся зависимости:
sudo apt-get autoremove
sudo apt-get autoclean
Установка Mysql сервера
УСТАНОВКА MYSQL СЕРВЕРА v5. 0.45
Сайт разработчика: http://www.mysql.com/
Скачайте «Windows (x86) ZIP/Setup.EXE» архив со страницы дистрибутивов, распакуйте его и запустите Setup.exe.
Далее будут показаны те диалоговые окна, в которых необходимо делать какой-либо выбор.
Отметьте в данном окне выборочную установку компонентов.
Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.
Выберите «Skip Sign-Up» для перехода на следующую страницу.
Теперь приступим к настройке MySQL сервера.
Выбираем детализированную настройку — «Detailed Configuration».
Отмечаем пункт «Server Machine».
Выбрав пункт «Multifunctional Database», вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
Выбор диска и директории для хранения таблиц типа InnoDB (просто Next).
В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе «Decision Support (DSS)/OLAP», максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.Если планируется подключений больше чем 20, выбирайте Manual Setting и ставьте нужное вам кол-во.
Отметив «Enable TCP/IP Networking» мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив «Enable Strict Mode», мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
Обратите внимание на выставление настроек данного окна. Отметив «Manual Selected Default Character Set / Collation» и выбрав из ниспадающего меню «cp1251» определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.
Если отметить «Install As Windows Service», сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса . Также поставьте галочку рядом с «Include Bin Directory in Windows PATH» — это позволит установить видимость директории «bin», для командной строки.
Установите пароль пользователя «root». И обязательно его запомните, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.И установите галочку «Enable root access from remote machines» если планируете работать с базой по сети,пользователем root.
В данном окне обратите внимание на строку «Write configuration file», которая указывает на месторасположение конфигурационного файла MySQL — «my.ini»
На этом все.
Установка и настройка MySQL на CentOS 7
С выпуском CentOS 7 MySQL самая популярная в мире система управления реляционными базами данных с открытым исходным кодом больше не доступна в репозиториях CentOS, и MariaDB стала системой баз данных по умолчанию. MariaDB — это бинарная замена MySQL с обратной совместимостью.
Если вы хотите установить MariaDB вместо MySQL, обратитесь к нашему руководству за инструкциями по установке.Перед началом работы с этим учебным курсом убедитесь, что вы вошли на свой сервер с учетной записью пользователя с привилегиями sudo или с пользователем root. Рекомендуется запускать административные команды как пользователь sudo вместо root, если у вас нет пользователя sudo в вашей системе, вы можете создать его, следуя этим инструкциям .
Как мы упоминали во введении, MySQL недоступен в репозиториях CentOS 7 по умолчанию, поэтому мы будем устанавливать пакеты из репозитория MySQL Yum . В следующих разделах мы покажем вам, как установить MySQL 8.0 и MySQL 5.7.
Вы должны установить только одну версию MySQL на вашем сервере CentOS 7. Если вы не уверены, какую версию установить, обратитесь к документации приложений, которые вы собираетесь развернуть на своем сервере.
Установите MySQL 8.0 на CentOS 7
На момент написания этой статьи последняя версия MySQL — это версия 8.0. Чтобы установить его на свой сервер CentOS 7, выполните следующие действия:
-
Включите репозиторий MySQL 8.0 с помощью следующей команды:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
-
Установите пакет MySQL 8.0 с помощью yum:
sudo yum install mysql-community-server
Во время установки yum может предложить вам импортировать ключ MySQL GPG. Введитеy
и нажмитеEnter
.
Установите MySQL 5.7 на CentOS 7
Чтобы установить предыдущий стабильный выпуск MySQL, MySQL версии 5. 7 на сервере CentOS 7, выполните следующие действия:
-
Включите репозиторий MySQL 5.7 с помощью следующей команды:
sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
-
Установите пакет MySQL 5.7 с:
Установите MySQL как любой другой пакет, используя yum:
sudo yum install mysql-community-server
Разделы ниже относятся как к MySQL 8.0, так и к MySQL 5.7.
Запуск MySQL
После завершения установки запустите службу MySQL и включите ее автоматический запуск при загрузке с помощью:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Мы можем проверить статус сервиса MySQL, набрав:
sudo systemctl status mysqld
● mysqld. service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-05-23 11:02:43 UTC; 14min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4310 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─4310 /usr/sbin/mysqld
Обеспечение безопасности MySQL
Когда сервер MySQL запускается впервые, для корневого пользователя MySQL генерируется временный пароль. Вы можете найти пароль, выполнив следующую команду:
sudo grep 'temporary password' /var/log/mysqld.log
Вывод должен выглядеть примерно так:
2018-05-23T10:59:51. 251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL
Запишите пароль, потому что следующая команда попросит вас ввести временный пароль root.
Запустите
mysql_secure_installation
команду для повышения безопасности нашей установки MySQL:sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
После ввода временного пароля вам будет предложено установить новый пароль для пользователя root. Пароль должен содержать не менее 8 символов и содержать как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ.
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
Сценарий также попросит вас удалить анонимного пользователя, ограничить доступ пользователя root к локальной машине и удалить тестовую базу данных. Вы должны ответить «Y» (да) на все вопросы.
Подключение к MySQL из командной строки
Для взаимодействия с MySQL через терминал мы будем использовать клиент MySQL, который устанавливается как зависимость от серверного пакета MySQL.
Чтобы войти на сервер MySQL от имени пользователя root, введите:
mysql -u root -p
Вам будет предложено ввести пароль root, который вы установили ранее при mysql_secure_installation
запуске скрипта.
После ввода пароля вы увидите оболочку mysql, как показано ниже:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Создать базу данных
Подключившись к оболочке MySQL, вы можете создать новую базу данных, введя следующую команду:
CREATE DATABASE new_database;
Query OK, 1 row affected (0.00 sec)
Создать таблицы
Теперь, когда мы создали базу данных, мы можем создать таблицу для хранения некоторых данных.
Перед запуском операторов SQL для создания таблицы нам необходимо подключиться к базе данных:
use new_database;
В этом примере мы создадим простую таблицу с именем contacts
с тремя полями, id
, name
и email
:
CREATE TABLE contacts (
id INT PRIMARY KEY,
name VARCHAR(30),
email VARCHAR(30)
);
Query OK, 1 row affected (0. 00 sec)
Вывод
В этом руководстве мы показали, как установить и защитить сервер MySQL на сервере CentOS 7. Мы также показали, как подключиться к оболочке MySQL и как создать новую базу данных и таблицу.
Если вы предпочитаете веб-интерфейс командной строке, вы можете установить phpMyAdmin и управлять своими базами данных MySQL через него.5.4.5 Первый запуск сервера
5.4.5 Первый запуск сервера
В этом разделе дается общий обзор запуска MySQL. сервер. В следующих разделах представлена более конкретная информация. для запуска сервера MySQL из командной строки или как Сервис Windows.
Информация здесь применима в первую очередь, если вы установили MySQL.
используя версию noinstall
, или, если хотите
для настройки и тестирования MySQL вручную, а не с графическим интерфейсом
инструменты.
Примеры в этих разделах предполагают, что MySQL установлен.
в папке по умолчанию C: \ Program
Файлы \ MySQL \ MySQL Server 5.7
. Настроить
имена путей, показанные в примерах, если у вас установлен MySQL в
другое место.
У клиентов есть два варианта. Они могут использовать TCP / IP или именованный канал, если сервер поддерживает подключения по именованному каналу.
MySQL для Windows также поддерживает соединения с общей памятью, если
сервер запущен с shared_memory
системная переменная
включено.Клиенты могут подключаться через общую память, используя --protocol = ПАМЯТЬ
опция.
Для получения информации о том, какой двоичный файл сервера запускать, см. Раздел 5.4.3, «Выбор типа сервера MySQL».
Тестирование лучше всего проводить из командной строки в окне консоли. (или «окно DOS»). Таким образом вы можете получить сервер отображает статусные сообщения в окне, где их легко чтобы увидеть. Если что-то не так с вашей конфигурацией, эти сообщения помогут вам определить и исправить любые проблемы.
Чтобы запустить сервер, введите эту команду:
C: \> "C: \ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqld" --console
Для сервера, который включает поддержку InnoDB
,
вы должны увидеть сообщения, похожие на следующие, так как это
начинается (имена путей и размеры могут отличаться):
InnoDB: первый указанный файл данных c: \ ibdata \ ibdata1 не существует:
InnoDB: будет создана новая база данных!
InnoDB: установка размера файла c: \ ibdata \ ibdata1 на 209715200
InnoDB: база данных физически записывает файл заполненным: подождите...
InnoDB: файл журнала c: \ iblogs \ ib_logfile0 не существует: новый будет создан
InnoDB: установка размера файла журнала c: \ iblogs \ ib_logfile0 на 31457280
InnoDB: файл журнала c: \ iblogs \ ib_logfile1 не существует: новый будет создан
InnoDB: установка размера файла журнала c: \ iblogs \ ib_logfile1 на 31457280
InnoDB: файл журнала c: \ iblogs \ ib_logfile2 не существует: новый будет создан
InnoDB: установка размера файла журнала c: \ iblogs \ ib_logfile2 на 31457280
InnoDB: буфер двойной записи не найден: создание нового
InnoDB: буфер двойной записи создан
InnoDB: создание системных таблиц ограничений внешнего ключа
InnoDB: созданы системные таблицы ограничений внешнего ключа
011024 10:58:25 InnoDB: запущено
Когда сервер завершит свою последовательность запуска, вы должны увидеть что-то вроде этого, что означает, что сервер готов к клиентские подключения службы:
mysqld: готов к подключению
Версия: '5. 7,34 'разъем:' порт: 3306
Сервер продолжает писать в консоль и дальше диагностический вывод, который он выдает. Вы можете открыть новое окно консоли в котором запускаются клиентские программы.
Если вы опустите опцию --console
,
сервер записывает диагностический вывод в журнал ошибок в данных
каталог ( C: \ Program Files \ MySQL \ MySQL Server
5.7 \ data
по умолчанию). Журнал ошибок
файл с номером .err
расширение, и может
можно установить с помощью --log-error
вариант.
7.10 Управление сервером MySQL с помощью systemd
7.10 Управление сервером MySQL с помощью systemd
Если вы устанавливаете MySQL с помощью пакета RPM или Debian на на следующих платформах Linux запуск и завершение работы сервера управляются по systemd:
Платформы пакетов RPM:
Платформы семейства Debian:
Платформы Debian
Платформы Ubuntu
Если вы устанавливаете MySQL из общего двоичного дистрибутива на платформа, которая использует systemd, вы можете вручную настроить systemd поддержка MySQL в соответствии с инструкциями, приведенными в раздел настройки после установки MySQL 5. 7 Руководство по безопасному развертыванию.
Если вы устанавливаете MySQL из исходного дистрибутива на платформе,
использует systemd, получите поддержку systemd для MySQL, настроив
распространение с использованием -DWITH_SYSTEMD = 1
CMake вариант. Видеть
Раздел 4.7, «Параметры конфигурации исходного кода MySQL».
Следующее обсуждение охватывает эти темы:
Примечание
На платформах, для которых установлена поддержка MySQL systemd, скрипты, такие как mysqld_safe и System V Сценарии инициализации не нужны и не устанавливаются.Для Например, mysqld_safe может обрабатывать сервер перезапускается, но systemd предоставляет те же возможности и делает это способом, совместимым с управлением другими услугами, скорее чем с помощью специальной программы.
Поскольку systemd может управлять несколькими MySQL экземпляры на платформах, для которых systemd поддерживает MySQL установлен, mysqld_multi и mysqld_multi. сервер не нужны и не установлено.
systemd обеспечивает автоматический запуск и завершение работы сервера MySQL. Это также позволяет управлять сервером вручную с помощью systemctl команда. Например:
systemctl {старт | стоп | перезапуск | статус} mysqld
В качестве альтернативы используйте команду service (с аргументы перевернуты), который совместим с System V системы:
service mysqld {start | stop | restart | status}
Примечание
Для системы ctl или service команд, если имя службы MySQL
не mysqld
, используйте соответствующее имя.Например, используйте mysql
вместо mysqld
в системах на базе Debian и SLES.
Поддержка systemd включает следующие файлы:
mysqld. service
(платформы RPM),mysql.service
(платформы Debian): файл конфигурации служебного модуля systemd с подробной информацией о служба MySQL.mysqld @.сервис
(платформы RPM),mysql @ .service
(платформы Debian): Нравитсяmysqld.service
илиmysql.service
, но используется для управления несколько экземпляров MySQL.mysqld.tmpfiles.d
: Файл, содержащий информация для поддержкиtmpfiles
характерная черта. Этот файл устанавливается под именемmysql.conf
.mysqld_pre_systemd
(платформы RPM),mysql-system-start
(платформы Debian): Сценарий поддержки для файла модуля. Этот сценарий помогает в создание файла журнала ошибок только в том случае, если местоположение журнала совпадает шаблон (/var/log/mysql*. log
для RPM платформ,/var/log/mysql/*.log
для Платформы Debian). В остальных случаях каталог журнала ошибок должен быть доступен для записи или должен присутствовать журнал ошибок и доступен для записи пользователю, запускающему mysqld процесс.
Настройка systemd для MySQL
Чтобы добавить или изменить параметры systemd для MySQL, эти методы: имеется в наличии:
Используйте локализованный файл конфигурации systemd.
Сделайте так, чтобы systemd установил переменные среды для Серверный процесс MySQL.
Установите системную переменную
MYSQLD_OPTS
.
Чтобы использовать локализованный файл конфигурации systemd, создайте /etc/systemd/system/mysqld.service. d
каталог, если он не существует. В этом каталоге создайте файл
который содержит раздел [Service]
, в котором перечислены
желаемые настройки. Например:
[Сервис]
LimitNOFILE = max_open_files
PIDFile = / путь / к / pid / файлу
Nice = nice_level
LimitCore = core_file_limit
Environment = "LD_PRELOAD = / путь / к / malloc / library "
Environment = "TZ = time_zone_setting "
Обсуждение здесь использует переопределение .conf
как
имя этого файла. Новые версии systemd поддерживают
следующая команда, которая открывает редактор и позволяет редактировать
файл:
systemctl edit mysqld # платформы RPM
systemctl редактировать mysql # платформы Debian
Всякий раз, когда вы создаете или меняете override.conf
, перезагрузите systemd
конфигурации, затем скажите systemd перезапустить службу MySQL:
systemctl демон-перезагрузка
systemctl restart mysqld # Платформы RPM
systemctl перезапуск mysql # платформы Debian
С systemd отменяет. conf
метод конфигурации должен использоваться для определенных параметров, а не
чем настройки в [mysqld]
, [mysqld_safe]
или [safe_mysqld]
группа в файле опций MySQL:
Для некоторых параметров
override.conf
должен использоваться, потому что systemd сам должен знать их значения и не может читать файлы опций MySQL, чтобы получить их.Параметры, которые задают значения, в противном случае можно установить только с помощью параметры, известные для mysqld_safe , должны быть указан с помощью systemd, потому что нет соответствующего mysqld параметр.
Для получения дополнительной информации об использовании systemd, а не mysqld_safe , см. Переход с mysqld_safe на systemd.
Вы можете установить следующие параметры в override.conf
:
Чтобы указать файл идентификатора процесса:
Начиная с MySQL 5.7.10: используйте
override.conf
и изменить обаPIDFile
иExecStart
, чтобы указать путь к файлу PID название.Любая настройка файла идентификатора процесса в опции MySQL файлы игнорируются. МодифицироватьExecStart
, сначала его нужно очистить. Например:[Сервис] PIDFile = / var / run / mysqld / mysqld-custom.pid ExecStart = ExecStart = / usr / sbin / mysqld --pid-file = / var / run / mysqld / mysqld-custom.pid $ MYSQLD_OPTS
До MySQL 5.7.10: используйте
PIDFile
впереопределение. conf
, а не--pid-file
опция для mysqld или mysqld_safe . systemd должен знать Расположение файла PID, чтобы он мог перезапустить или остановить сервер. Если значение файла PID указано в MySQL файл опций, значение должно соответствоватьPIDFile Значение
или запуск MySQL может неудача.
Чтобы установить количество файловых дескрипторов, доступных MySQL сервер, используйте
LimitNOFILE
впереопределение.conf
, а неopen_files_limit
система переменная для mysqld или- предел открытых файлов
вариант для mysqld_safe .Чтобы установить максимальный размер файла ядра, используйте
LimitCore
дюймовoverride. conf
, а не- core-file-size
вариант для mysqld_safe .Чтобы установить приоритет планирования для сервера MySQL, используйте
Ницца
дюймпереопределение.conf
, а не- красивый вариант
для mysqld_safe .
Некоторые параметры MySQL настраиваются с использованием среды переменные:
Есть несколько способов указать значения переменных среды. для использования серверным процессом MySQL, управляемым systemd:
Используйте строки
Environment
вoverride.conf
файл.Для синтаксиса см. пример из предыдущего обсуждения, который описывает, как использовать этот файл.Укажите значения в
/ etc / sysconfig / mysql
(создайте файл, если он не существует). Назначьте значения с помощью следующий синтаксис:LD_PRELOAD = / путь / к / malloc / library TZ = time_zone_setting
После изменения
/ etc / sysconfig / mysql
, перезапустите сервер, чтобы изменения вступили в силу:systemctl restart mysqld # платформы RPM systemctl перезапуск mysql # платформы Debian
Чтобы указать параметры для mysqld без
изменение файлов конфигурации systemd напрямую, установка или отключение MYSQLD_OPTS
переменная systemd.Например:
systemctl set-environment MYSQLD_OPTS = "- general_log = 1"
systemctl отключенная среда MYSQLD_OPTS
MYSQLD_OPTS
также можно установить в / etc / sysconfig / mysql
файл.
После изменения среды systemd перезапустите сервер, чтобы сделать изменения эффективными:
systemctl restart mysqld # платформы RPM
systemctl перезапуск mysql # платформы Debian
Для платформ, использующих systemd, каталог данных
инициализируется, если пусто при запуске сервера. Это может быть проблемой
если каталог данных является удаленным монтированием, которое временно
исчез: точка монтирования будет казаться пустыми данными
каталог, который затем будет инициализирован как новые данные
каталог. Начиная с MySQL 5.7.20, чтобы подавить это автоматическое
поведение инициализации, укажите следующую строку в / etc / sysconfig / mysql
файл (создайте файл
если его нет):
NO_INIT = true
Настройка нескольких экземпляров MySQL с помощью systemd
В этом разделе описывается, как настроить systemd для нескольких экземпляры MySQL.
Примечание
Поскольку systemd может управлять несколькими MySQL экземпляры на платформах, для которых установлена поддержка systemd, mysqld_multi и mysqld_multi.server не нужны и не установлено. Это верно с MySQL 5.7.13 для RPM. платформы, 5.7.19 для платформ Debian.
Чтобы использовать возможность работы с несколькими экземплярами, измените my.cnf
файл опций для включения конфигурации
ключевых опций для каждого экземпляра.Эти местоположения файлов
типичный:
Например, для управления двумя экземплярами с именем реплика01
и реплика02
,
добавьте что-то вроде этого в файл опций:
Платформы RPM:
[mysqld @ replica01]
datadir = / вар / библиотека / mysql-replica01
сокет = / var / lib / mysql-replica01 / mysql.sock
порт = 3307
журнал-ошибка = / var / журнал / mysqld-replica01.log
[mysqld @ replica02]
datadir = / вар / библиотека / mysql-replica02
сокет = / var / lib / mysql-replica02 / mysql.носок
порт = 3308
журнал-ошибка = / var / журнал / mysqld-replica02.log
Платформы Debian:
[mysqld @ replica01]
datadir = / вар / библиотека / mysql-replica01
сокет = / var / lib / mysql-replica01 / mysql. sock
порт = 3307
журнал-ошибка = / var / журнал / mysql / replica01.log
[mysqld @ replica02]
datadir = / вар / библиотека / mysql-replica02
сокет = / var / lib / mysql-replica02 / mysql.sock
порт = 3308
журнал-ошибка = / var / журнал / mysql / replica02.log
В показанных здесь именах реплик используется @
в качестве
разделитель, потому что это единственный разделитель, поддерживаемый
systemd.
Затем экземпляры управляются обычными командами systemd, такими как:
systemctl запустить mysqld @ replica01
systemctl запустить mysqld @ replica02
Чтобы экземпляры запускались во время загрузки, сделайте следующее:
systemctl включить mysqld @ replica01
systemctl включить mysqld @ replica02
Также поддерживается использование подстановочных знаков. Например, эта команда отображает состояние всех экземпляров реплик:
статус systemctl 'mysqld @ replica *'
Для управления несколькими экземплярами MySQL на одном компьютере, systemd автоматически использует другой файл модуля:
В файле модуля % I
и % i
ссылка на параметр, переданный после
маркер @
и используются для управления
конкретный экземпляр. Для такой команды:
systemctl start mysqld @ replica01
systemd запускает сервер с помощью такой команды:
mysqld --defaults-group-suffix = @% I ...
В результате [сервер]
, [mysqld]
и [mysqld @ replica01]
групп опций считываются и
используется для этого экземпляра службы.
Примечание
На платформах Debian AppArmor не позволяет серверу читать
или написав / var / lib / mysql-replica *
, или
все, кроме местоположений по умолчанию.Чтобы решить эту проблему,
вы должны настроить или отключить профиль в /etc/apparmor.d/usr.sbin.mysqld
.
Примечание
На платформах Debian сценарии упаковки для MySQL
удаление в настоящее время не может обрабатывать экземпляров mysqld @
. Перед удалением или
обновляя пакет, вы должны остановить любые лишние экземпляры
сначала вручную.
Переход с mysqld_safe на systemd
Поскольку mysqld_safe не установлен на
платформы, которые используют systemd для управления MySQL, варианты ранее
указана для этой программы (например, в [mysqld_safe]
или [safe_mysqld]
option group) необходимо указать
другой путь:
Некоторые параметры mysqld_safe также являются понимается mysqld и может быть перемещен с
[mysqld_safe]
или[safe_mysqld]
группу опций в[mysqld]
группа.Это делает не включать--pid-файл
,--open-files-limit
, или- красиво
. Чтобы указать те параметры, используйтеoverride.conf
systemd файл, описанный ранее.Примечание
На платформах systemd использование
[mysqld_safe]
и[safe_mysqld]
групп опций не поддерживается и может привести к неожиданному поведению.Для некоторых опций mysqld_safe есть аналогичные варианты mysqld . Например, mysqld_safe опция для включения
syslog
ведение журнала- syslog
, который устарело. Для mysqld включитеlog_syslog
системная переменная вместо. Подробнее см. Журнал ошибок.mysqld_safe параметры не поняты mysqld можно указать в
переопределение. conf
или переменные среды. Например, с mysqld_safe , если сервер должен использовать определенную библиотеку распределения памяти, это указывается с помощью--malloc-lib
вариант. Для инсталляции, которые управляют сервером с помощью systemd, организовать для установки средыLD_PRELOAD
вместо этого, как описано ранее.
2 Установка и обновление MySQL
Определите, работает ли MySQL и поддерживается на вашей платформе.
Обратите внимание, что не все платформы одинаково подходят для работает MySQL, и что не все платформы, на которых MySQL официально поддерживаются Oracle Corporation. Для информация о тех платформах, которые официально поддерживаются, см. https://www.mysql.com/support/supportedplatforms/database.html в MySQL Веб-сайт.
Выберите, какой дистрибутив установить.
Доступно несколько версий MySQL, и большинство из них доступны. в нескольких форматах распространения. Вы можете выбрать из предварительно упакованные дистрибутивы, содержащие двоичный (предварительно скомпилированный) программы или исходный код. Если сомневаетесь, используйте двоичный распределение. Oracle также предоставляет доступ к исходному коду MySQL. код для тех, кто хочет увидеть последние разработки и протестировать новые код. Чтобы определить, какую версию и тип дистрибутива вы следует использовать, см. раздел 2.1.2, «Какую версию и дистрибутив MySQL устанавливать».
Скачайте дистрибутив, который хотите установить.
Инструкции см. В Раздел 2.1.3, «Как получить MySQL». Проверять целостности дистрибутива, используйте инструкции в Раздел 2. 1.4, «Проверка целостности пакета с помощью контрольных сумм MD5 или GnuPG».
Установите дистрибутив.
Чтобы установить MySQL из двоичного дистрибутива, используйте инструкции в разделе 2.2, «Установка MySQL в Unix / Linux с использованием стандартных двоичных файлов». В качестве альтернативы используйте Безопасный Руководство по развертыванию, в котором описаны процедуры для развертывание общего двоичного дистрибутива MySQL Enterprise Edition Server с функциями для управления безопасностью вашего Установка MySQL.
Чтобы установить MySQL из исходного дистрибутива или из текущего дерево исходных кодов разработки, используйте инструкции в Раздел 2.9, «Установка MySQL из исходного кода».
Выполните все необходимые постустановочные работы. настраивать.
После установки MySQL см. Раздел 2.10, «Постинсталляционная настройка и тестирование».
для получения информации о том, как убедиться, что сервер MySQL работает
должным образом. Также см. Информацию, представленную в
Раздел 2.10.4, «Защита исходной учетной записи MySQL». В этом разделе описывается, как
для защиты исходного пользователя MySQL root
аккаунт, , у которого нет пароля , пока вы
назначить один.Этот раздел применяется независимо от того, устанавливаете ли вы MySQL с помощью
двоичный или исходный дистрибутив.
Если вы хотите запустить сценарии тестирования MySQL, поддержка Perl для MySQL должен быть доступен. См. Раздел 2.13, «Замечания по установке Perl».
Linux — Generic (glibc 2.12) (x86, 32-разрядная версия), сжатый архив TAR | 8.0.25 | 792. 7М | ||
(mysql-8.0.25-linux-glibc2.12-i686.tar.xz) | MD5: a89f39f1d9a5d334451e2169140d400f |
Подпись | |||
Linux — Generic (glibc 2.12) (x86, 64-разрядная версия), сжатый архив TAR | 8.0.25 | 854,7 млн | ||
(mysql-8.0.25-Linux-glibc2.12-x86_64.tar.xz) | MD5: a12142a969531cebd845844620bb44a4 |
Подпись | |||
Linux — Generic (glibc 2.12) (x86, 32-разрядная версия), сжатый архив TAR Test Suite | 8.0.25 | 256,4 млн | ||
(mysql-test-8. 0.25-Linux-glibc2.12-i686.tar.xz) | MD5: 50419fb88f186a6c36aa2f39f03814c6 |
Подпись | |||
Linux — Generic (glibc 2.12) (x86, 64-бит), сжатый архив TAR Test Suite | 8.0.25 | 259,4 млн | ||
(mysql-test-8.0.25-Linux-glibc2.12-x86_64.tar.xz) | MD5: 31c20758314e66c87d13dd6d5983b127 |
Подпись | |||
Linux — Generic (glibc 2.12) (x86, 32-разрядная версия), TAR | 8.0.25 | 1109,6 млн | ||
(mysql-8.0.25-linux-glibc2.12-i686.tar) | MD5: 6b6a58ed1897c5cd5014a53365f2cba7 |
Подпись | |||
Linux — Generic (glibc 2.12) (x86, 64-разрядная версия), TAR | 8.0.25 | 1176,3 млн | ||
(mysql-8.0.25-linux-glibc2.12-x86_64.tar) | MD5: a3c8a0708e440ffb47c428733156831d |
Подпись | |||
Linux — Generic (glibc 2.17) (x86, 64-разрядная версия), сжатый архив TAR Минимальная установка | 8.0.25 | 48,9 млн | ||
(mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz) | MD5: c47742291e9ae9693e6cf6543ed6a689 |
Подпись | |||
Linux — Generic (glibc 2.17) (x86, 64-разрядная версия), сжатый архив TAR Набор тестов для минимальной установки | 8.0.25 | 213,8 млн | ||
(mysql-test-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz) | MD5: 53e56af930abd1cdf62aa92c4fd64eca |
Подпись | |||
Linux — Generic (glibc 2.17) (x86, 64-бит), TAR Минимальная установка | 8.0.25 | 270,4 млн | ||
(mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar) | MD5: e7df48c6677bdd9d840dda83a70c30ae |
Подпись |
5.3.3.1 Конфигурация сервера MySQL с установщиком MySQL
5.3.3.1 Конфигурация сервера MySQL с помощью установщика MySQL
Установщик MySQL выполняет первоначальную настройку сервера MySQL. Для пример:
Создает файл конфигурации (
my.ini
), который используется для настройки Сервер MySQL. На значения, записанные в этот файл, влияют по выбору, сделанному вами в процессе установки. Некоторый определения зависят от хоста.Например, query_cache — это включен, если на хосте меньше трех ядер.Примечание
Кеш запросов устарел в MySQL 5.7 и удален в MySQL 8.0 (и новее).
По умолчанию добавляется служба Windows для сервера MySQL.
Предоставляет установку по умолчанию и пути к данным для MySQL сервер. Чтобы узнать, как изменить пути по умолчанию, см. раздел 5.3.2, «Установка альтернативных путей к серверу с помощью установщика MySQL».
При желании он может создавать учетные записи пользователей сервера MySQL с настраиваемые разрешения на основе общих ролей, таких как БД Администратор, конструктор БД и администратор резервного копирования. Это необязательно создает пользователя Windows с именем
MysqlSys
с ограниченными привилегиями, который затем запустит MySQL Сервер.Учетные записи пользователей также могут быть добавлены и настроены в MySQL Workbench.
Установка флажка «Показать дополнительные параметры» включает необходимо установить дополнительные параметры ведения журнала. Это включает определение пользовательских путей к файлам для журнала ошибок, общий журнал, журнал медленных запросов (включая конфигурацию секунд, необходимых для выполнения запроса), и двоичный журнал.
В процессе настройки щелкните Далее, чтобы перейти к следующему шагу, или Вернуться, чтобы вернуться к предыдущему шагу.Нажмите «Выполнить» на последнем шаге, чтобы применить конфигурация сервера.
В следующих разделах описывается конфигурация сервера. параметры, которые применяются к серверу MySQL в Windows. Сервер версия, которую вы установили, определит, какие шаги и параметры вы можно настроить. Настройка сервера MySQL может включать некоторые или все ступеней.
5.3.3.1.1 Тип и сеть
Тип конфигурации сервера
Выберите тип конфигурации сервера MySQL, который описывает ваша установка.Этот параметр определяет количество системного ресурсы (память) для назначения вашему серверу MySQL пример.
Разработка : A компьютер, на котором размещено множество других приложений, и обычно это ваша персональная рабочая станция. Этот настройка настраивает MySQL на использование наименьшего количества объем памяти.
Сервер : Несколько других ожидается, что приложения будут работать на этом компьютере, например, веб-сервер.Настройка сервера настраивает MySQL использует средний объем памяти.
Выделенный : компьютер который предназначен для запуска сервера MySQL. Так как никакие другие основные приложения не работают на этом сервере, это настройка настраивает MySQL для использования большинства доступная память.
Связь
Параметры подключения определяют способ подключения к MySQL сделан.Варианты включают:
TCP / IP: этот параметр выбран по умолчанию. Вы можете отключить сеть TCP / IP, чтобы разрешить только соединения с локальным хостом. С TCP / IP выбран вариант подключения, вы можете изменить Следующие пункты:
Порт для классического протокола MySQL соединения. Значение по умолчанию —
3306
.Порт протокола X отображается, когда настройка только сервера MySQL 8.0. По умолчанию значение
33060
Откройте порт брандмауэра Windows для сети доступ, который выбран по умолчанию для соединений TCP / IP.
Если номер порта уже используется, вы увидите значок информации () рядом со значением по умолчанию и Далее отключен, пока вы укажите новый номер порта.
Именованный канал: включите и определите имя трубы, аналогично установке
named_pipe
система Переменная. Имя по умолчанию —MySQL
.Общая память: включить и определить имя памяти, аналогично установке
shared_memory
система Переменная.Имя по умолчанию —MySQL
.
Расширенная конфигурация
Установите флажок Показать расширенные и ведение журнала Параметры для настройки пользовательского ведения журнала и расширенного варианты на более поздних этапах. Шаг Параметры ведения журнала включает вы можете определить собственные пути к файлам для журнала ошибок, общие журнал, журнал медленных запросов (включая конфигурацию секунд, необходимых для выполнения запроса), а двоичный бревно.Шаг Advanced Options позволяет вам установить уникальный идентификатор сервера, необходимый при включении двоичного журнала в топологии репликации.
MySQL Enterprise Firewall (только Enterprise Edition)
Включить брандмауэр MySQL Enterprise По умолчанию флажок не установлен. Выберите этот вариант, чтобы включить список безопасности, который предлагает защиту от определенные виды атак.Дополнительная пост-установка требуется конфигурация (см. MySQL Enterprise Firewall).
Важный
Для MySQL 8.0.19 существует проблема, которая не позволяет сервер от запуска, если MySQL Enterprise Firewall выбран во время шаги настройки сервера. Если при запуске сервера операция не выполняется, нажмите Отмена, чтобы завершить процесс настройки и вернуться к приборная панель.Вы должны удалить сервер.
Обходной путь — запустить установщик MySQL без выбранного брандмауэра MySQL Enterprise. (То есть не выбирайте Включить MySQL Установите флажок Enterprise Firewall.) Затем установите MySQL Enterprise Firewall после этого, используя инструкции для руководства установка (см. Установка или удаление MySQL Enterprise Firewall).
5.3.3.1.2 Метод аутентификации
Шаг метода аутентификации виден только во время установки или обновления MySQL 8.0.4 или выше. Он предлагает выбор между двумя серверными параметры аутентификации. Учетные записи пользователей MySQL, которые вы create на следующем шаге будет использовать метод аутентификации который вы выбираете на этом шаге.
Коннекторы MySQL 8.0 и драйверы сообщества, использующие libmysqlclient
8.0 теперь поддерживают mysql_native_password
по умолчанию
плагин аутентификации. Однако, если вы не можете обновить
ваших клиентов и приложений для поддержки этого нового
метод аутентификации, вы можете настроить сервер MySQL на
используйте mysql_native_password
для устаревших версий
аутентификация. Для получения дополнительной информации о последствиях
это изменение, см.
caching_sha2_password в качестве подключаемого модуля предпочтительной аутентификации.
Если вы устанавливаете или обновляете MySQL 8.0.4 или выше, выберите один из следующих методов аутентификации:
Используйте надежное шифрование пароля для аутентификации (РЕКОМЕНДУЕМЫЕ)
MySQL 8.0 поддерживает новую аутентификацию, основанную на улучшенных, более надежные методы паролей на основе SHA256. Рекомендуется что все новые установки сервера MySQL используют этот метод идти вперед.
Важный
caching_sha2_password
плагин аутентификации на сервере требует нового версии коннекторов и клиентов, которые добавляют поддержку для новой аутентификации по умолчанию MySQL 8.0.Использовать устаревший метод аутентификации (сохранить MySQL 5.x). Совместимость)
Использование старого метода аутентификации MySQL 5.x следует рассматривать только в следующих случаях:
Приложения не могут быть обновлены для использования MySQL 8.0 разъемы и драйверы.
Перекомпиляция существующего приложения не производится достижимый.
Обновленный коннектор или драйвер для конкретного языка пока недоступно.
5.3.3.1.3 Учетные записи и роли
Пароль учетной записи root
Требуется назначить пароль root, и вы будете запрашивал его при выполнении других операций с установщиком MySQL.Надежность пароля оценивается при повторении пароль в предоставленном поле. Для описательной информации Что касается требований к паролю или статуса, переместите указатель мыши указатель на значок информации (), когда он появится.
Учетные записи пользователей MySQL (необязательно)
Нажмите «Добавить пользователя» или «Изменить». Пользователь для создания или изменения учетных записей пользователей MySQL с предопределенными ролями.Далее вводим необходимый аккаунт реквизиты для входа:
Имя пользователя: имена пользователей MySQL могут быть длиной до 32 символов.
Хост: Выбрать
localhost
для локальных подключений только или<Все хосты (%)>
, когда требуется удаленное подключение к серверу.Роль: каждая предопределенная роль, например как
DB Admin
, настроен со своим собственный набор привилегий.Например,DB Роль администратора
имеет больше привилегий, чемКонструктор БД
роль. В Раскрывающийся список ролей содержит описание каждой роли.Пароль: надежность пароля оценка выполняется при вводе пароля. Пароли необходимо подтверждать. MySQL разрешает пустое или пустой пароль (считается небезопасным).
Только коммерческий выпуск установщика MySQL: MySQL Enterprise Edition для Windows, коммерческий продукт, также поддерживает метод аутентификации, который выполняет внешнюю аутентификацию в Windows. учетные записи аутентифицированный операционной системой Windows может получить доступ сервер MySQL без предоставления дополнительных пароль.
Чтобы создать новую учетную запись MySQL, которая использует Windows аутентификации, введите имя пользователя и затем выберите значение для Host и Роль.Нажмите Проверка подлинности Windows для включения
authentication_windows
плагин. в В области токенов безопасности Windows введите токен для каждого Пользователь (или группа) Windows, который может аутентифицироваться с помощью Имя пользователя MySQL. Учетные записи MySQL могут включать безопасность токены как для локальных пользователей Windows, так и для пользователей Windows, которые принадлежат домену. Несколько токенов безопасности разделены символом точки с запятой (;
) и используйте следующий формат для локальных и доменных учетных записей:Локальная учетная запись
Введите простое имя пользователя Windows в качестве защиты токен для каждого локального пользователя или группы; Например,
Финли; Джеффри; администратор
.Учетная запись домена
Используйте стандартный синтаксис Windows (
домен
\
доменпользователь
) или синтаксис MySQL (домен
\\
доменпользователь
) для ввода пользователей и групп домена Windows.Для учетных записей домена вам может потребоваться использовать учетные данные администратора в домене, если учетная запись, на которой запущен установщик MySQL, не имеет разрешений на запросить Active Directory.Если это так, выберите Проверить пользователей Active Directory с помощью для активации администратора домена реквизиты для входа.
Проверка подлинности Windows позволяет протестировать все токены безопасности каждый раз, когда вы добавляете или изменяете токен. Нажмите Тестовые токены безопасности для проверки (или перепроверить) каждый токен. Недействительные токены генерируют описательное сообщение об ошибке вместе с красным Значок
X
и красный жетон.Когда все токены разрешаются как действительные (зеленый текст безX
), вы можете нажать ОК, чтобы сохранить изменения.
5.3.3.1.4 Служба Windows
На платформе Windows сервер MySQL может работать как именованный сервис, управляемый операционной системой и настроенный на запускается автоматически при запуске Windows. В качестве альтернативы вы может настроить сервер MySQL для работы в качестве исполняемой программы это требует ручной настройки.
Настройте сервер MySQL как Windows сервис (выбрано по умолчанию.)
Когда выбран вариант конфигурации по умолчанию, вы можете также выберите следующее:
Запустите сервер MySQL в системе Запускать
При выборе (по умолчанию) тип запуска службы установите автоматический; в противном случае устанавливается тип запуска в Руководство.
Запустить службу Windows как
Когда стандартная системная учетная запись выбрано (по умолчанию), служба входит в систему как Сеть Услуга.
Параметр «Пользовательский пользователь» должен иметь привилегии для входа в Microsoft Windows в качестве услуга. Кнопка Далее будет быть отключенным, пока этот пользователь не будет настроен с необходимые привилегии.
Пользовательская учетная запись пользователя настраивается в Windows с помощью поиск «локальной политики безопасности» в Пуске меню. В окне локальной политики безопасности выберите Локальные политики, Пользователь Назначение прав, а затем журнал On As A Service, чтобы открыть недвижимость диалог. Щелкните Добавить пользователя или группу. чтобы добавить настраиваемого пользователя, а затем щелкните ОК в каждом диалоговом окне, чтобы сохранить изменения.
Отмените выбор параметра службы Windows
5.3.3.1.5 Параметры ведения журнала
Этот шаг доступен, если Показать расширенный Флажок конфигурации был установлен во время Тип и сетевой шаг. Чтобы включить это шаг сейчас, нажмите Назад, чтобы вернуться к Введите и Сетевой шаг и выберите флажок.
Дополнительные параметры конфигурации связаны со следующим Файлы журнала MySQL:
Примечание
Двоичный журнал включен по умолчанию для MySQL 5.7 и выше.
5.3.3.1.6 Дополнительные параметры
Этот шаг доступен, если Показать расширенный Флажок конфигурации был установлен во время Тип и сетевой шаг. Чтобы включить это шаг сейчас, нажмите Назад, чтобы вернуться к Введите и Сетевой шаг и выберите флажок.
Параметры расширенной конфигурации включают:
ID сервера
Установите уникальный идентификатор, используемый в топологии репликации.Если двоичное ведение журнала включено, необходимо указать сервер Я БЫ. Значение идентификатора по умолчанию зависит от версии сервера. Для получения дополнительной информации см. Описание
server_id
система Переменная.Регистр имен таблиц
Вы можете установить следующие параметры во время начального и последующая настройка сервера. Для MySQL 8.0 серии выпусков, эти параметры применяются только к начальному конфигурация сервера.
Нижний регистр
Устанавливает
lower_case_table_names
значение параметра равно 1 (по умолчанию), в котором имена таблиц хранятся на диске в нижнем регистре, и сравнения не с учетом регистра.Сохранить данный случай
Устанавливает
lower_case_table_names
значение параметра равно 2, в котором имена таблиц хранятся как дано, но сравнивается строчными буквами.
5.3.3.1.7 Применить конфигурацию сервера
Все настройки конфигурации применяются к серверу MySQL. при нажатии кнопки «Выполнить». Использовать Вкладка «Шаги настройки», чтобы следовать прогресс каждого действия; значок для каждого переключается с белого становится зеленым (с галочкой) в случае успеха. В противном случае процесс останавливается и отображает сообщение об ошибке, если человек время действия истекло.Щелкните вкладку Журнал, чтобы просмотреть журнал.
Когда установка завершится успешно и вы нажмете
Готово, установщик MySQL и установленный MySQL
продукты добавляются в меню «Пуск» Microsoft Windows в
группа MySQL
. Открытие установщика MySQL загружает
приборная панель
где перечислены установленные продукты MySQL и другие установщики MySQL
операции доступны.
Как установить MySQL — SitePoint
Почти все веб-приложения требуют хранилища данных на сервере, и MySQL продолжает оставаться наиболее часто используемым решением для баз данных.В этой статье обсуждаются различные варианты использования MySQL в вашей локальной системе во время разработки.
MySQL — это бесплатная реляционная база данных с открытым исходным кодом. MariaDB — это ответвление базы данных, созданной в 2010 году после опасений по поводу приобретения MySQL Oracle. (Функционально он идентичен, поэтому большинство концепций, описанных в этой статье, также применимы к MariaDB.)
В то время как базы данных NoSQL резко выросли в последние годы, реляционные данные обычно более практичны для большинства приложений.Тем не менее, MySQL также поддерживает структуры данных, подобные NoSQL, такие как поля JSON, поэтому вы можете пользоваться преимуществами обоих миров.
В следующих разделах рассматриваются три основных способа использования MySQL в вашей локальной среде разработки:
- облачные решения
- с использованием контейнеров Docker
- устанавливается на ваш компьютер.
Эта популярная статья была обновлена в 2020 году, чтобы точно отразить текущий процесс установки MySQL. Чтобы узнать больше о MySQL, прочтите Jump Start MySQL.
MySQL на основе облака
СервисыMySQL предлагаются AWS, Azure, Google Cloud, Oracle и многими другими специализированными службами хостинга. Даже недорогие общие хосты предлагают MySQL с удаленными HTTPS или туннелированными SSH-соединениями. Таким образом, вы можете использовать базу данных MySQL удаленно при локальной разработке. Преимущества:
- нет программного обеспечения базы данных для установки или управления
- ваша производственная среда может использовать ту же систему
- более одного разработчика могут легко получить доступ к одним и тем же данным
- идеально подходит для тех, кто использует облачные IDE или устройства с более низкими характеристиками, такие как Chromebook . Могут быть включены такие функции
- , как автоматическое масштабирование, репликация, сегментирование и резервное копирование.
Минусы:
- Настройка все еще может занять много времени
- библиотеки соединений и процессы могут незначительно отличаться на разных хостах
- экспериментирование более рискованно; любой разработчик может случайно стереть или изменить базу данных Разработка
- прекратится, когда у вас нет подключения к Интернету
- может потребоваться ошеломляющая стоимость использования.
Облачный вариант может быть практичным для тех, у кого минимальные требования к базе данных или для больших команд, работающих с одними и теми же сложными наборами данных.
Запуск MySQL с помощью Docker
Docker — это платформа, которая позволяет создавать, совместно использовать и запускать приложения в контейнерах . Подумайте о контейнере как об изолированной виртуальной машине с собственной операционной системой, библиотеками и файлами приложения. (На самом деле контейнеры — это легкие процессы, которые совместно используют ресурсы на хосте.)
Образ Docker — это снимок файловой системы, который можно запускать как контейнер. Docker Hub предоставляет широкий спектр образов для популярных приложений и баз данных, включая MySQL и MariaDB.Преимущества:
- Все разработчики могут использовать один и тот же образ Docker в macOS, Linux и Windows
- Установка MySQL, настройка и обслуживание минимальны
- Тот же базовый образ может использоваться в средах разработки и производства
- разработчиков сохраняют преимущества локальной разработки и могут экспериментировать без риска.
Docker выходит за рамки этой статьи, но следует отметить ключевые моменты:
- Docker — это клиент-серверное приложение.Сервер отвечает за управление изображениями и контейнерами и может управляться через REST API с помощью интерфейса командной строки. Таким образом, вы можете запустить демон сервера где угодно и подключиться к нему с другой машины.
- Для каждой технологии, необходимой вашему веб-приложению, следует использовать отдельные контейнеры. Например, ваше приложение может использовать три контейнера: веб-сервер Apache с поддержкой PHP, базу данных MySQL и механизм Elasticsearch.
- По умолчанию контейнеры не сохраняют состояние.Данные, сохраненные в файле или базе данных, будут потеряны при следующем перезапуске контейнера. Постоянство реализуется путем монтирования тома на хосте.
- Каждый контейнер может связываться с другими в своей собственной изолированной сети. При необходимости хост-машине могут быть доступны определенные порты.
- Доступна коммерческая корпоративная версия Docker. Эта статья относится к версии сообщества с открытым исходным кодом, но применимы те же методы.
Установить Docker
Инструкции по установке последней версии Docker на Linux доступны в Docker Docs.Вы также можете использовать официальные репозитории, хотя, скорее всего, в них есть более старые версии. Например, в Ubuntu:
sudo apt-get update
sudo apt-get удалить docker docker-engine docker.io
sudo apt установить docker.io
sudo systemctl запустить докер
sudo systemctl включить докер
Установкабудет отличаться в других выпусках Linux, поэтому поищите соответствующие инструкции в Интернете.
Docker CE Desktop для macOS Sierra 10.12 и выше и Docker CE Desktop для Windows 10 Professional доступны в виде устанавливаемых пакетов.Вы должны зарегистрироваться в Docker Hub и войти в систему для загрузки.
Docker в Windows 10 использует платформу виртуализации Hyper-V, которую можно включить с помощью панели Включение и отключение функций Windows , доступ к которой осуществляется из программы Программы и компоненты на панели управления. Docker также может использовать подсистему Windows для Linux 2 (WSL2 — в настоящее время находится в стадии бета-тестирования).
Чтобы обеспечить доступ Docker к файловой системе Windows, выберите Параметры в меню значка Docker на панели задач, перейдите на панель Общие диски и проверьте, какие диски разрешено использовать серверу.
Убедитесь, что Docker успешно установлен, введя в командной строке docker version
. При желании попробуйте docker run hello-world
, чтобы убедиться, что Docker может извлекать образы и запускать контейнеры должным образом.
Запуск контейнера MySQL
Чтобы упростить взаимодействие контейнеров Docker, создайте мостовую сеть с именем dbnet
или любым другим именем, которое вы предпочитаете (этот шаг можно пропустить, если вы просто хотите получить доступ к MySQL с хост-устройства) :
docker network create --driver bridge dbnet
Теперь создайте папку data
в вашей системе, где будут храниться таблицы MySQL, например mkdir data
.
Самый последний сервер MySQL 8 теперь может быть запущен с:
docker run -d --rm --name mysql --net dbnet -p 3306: 3306 -e MYSQL_ROOT_PASSWORD = mysecret -v $ PWD / data: / var / lib / mysql mysql: 8
Используемых аргументов:
-
-d
запускает контейнер как фоновую службу. -
--rm
удаляет контейнер, когда он прекращает работу. -
--name mysql
присваивает контейнеру имяmysql
для упрощения управления. -
-p 3306: 3306
перенаправляет порт контейнера на хост. Если вы хотите использовать порт3307
на хосте, вы должны указать-p 3307: 3306
. -
-e
определяет переменную среды, в этом случае пароль пользователя root MySQL по умолчанию установлен наmysecret
. -
-v
монтирует том, поэтому папка данных MySQL/ var / lib / mysql
в контейнере будет храниться в подпапкеdata
текущей папки на хосте.
$ PWD
— текущая папка, но работает только в macOS и Linux. Пользователи Windows должны указать весь путь, используя запись с косой чертой, например / c / mysql / data
.
При первом запуске этой команды MySQL будет запускаться через несколько минут, так как образ Docker загружен и контейнер MySQL настроен. Последующие перезапуски будут мгновенными, если вы не удалите или не измените исходное изображение. Вы можете проверить прогресс в любое время, используя:
журналы докеров mysql
Использование средства командной строки контейнера MySQL
После запуска откройте оболочку bash в контейнере MySQL, используя:
docker exec -it mysql bash
Затем подключитесь к серверу MySQL как пользователь root:
mysql -u корень -pmysecret
За -p
следует пароль, установленный в аргументе Docker -e
, показанном выше.Не добавляйте пробел!
Теперь можно использовать любые команды MySQL — например, show databases;
, создать базу данных новую;
и так далее.
Используйте клиент MySQL
Любое клиентское приложение MySQL может подключаться к серверу через порт 3306
хост-машины.
Если у вас не установлен клиент MySQL, Adminer — это легкий инструмент управления базой данных PHP, который также можно запускать как контейнер Docker!
docker run -d --rm --name adminer --net dbnet -p 8080: 8080 администратор
После запуска откройте в браузере http: // localhost: 8080
и введите mysql
в качестве имени сервера, root
в качестве имени пользователя и mysecret
в качестве пароля:
Базы данных, пользователей, таблицы и связанные с ними настройки теперь можно добавлять, редактировать или удалять.
Остановить контейнеры Docker
Контейнеры можно остановить (и автоматически удалить) с помощью команды docker stop
, за которой следует одно или несколько имен контейнера. Например:
докер остановить администратор MySQL
Образы и контейнеры Dockerлегче по сравнению с виртуальными машинами, но вы можете стереть все данные, используя:
docker system prune -a
докер объемная обрезка
Использование
docker-compose
для управления контейнерами docker-compose
может управлять любым количеством контейнеров без необходимости вводить длинные команды Docker.Создайте файл docker-compose.yml
в текущей папке:
версия: '3.7'
Сервисы:
mysql:
среда:
- MYSQL_ROOT_PASSWORD = mysecret
изображение: mysql: 8
имя_контейнера: mysql
объемы:
- ./data:/var/lib/mysql
сети:
- dbnet
порты:
- «3306: 3306»
администратор:
изображение: администратор
имя_контейнера: администратор
зависит от:
- MySQL
сети:
- dbnet
порты:
- «8080: 8080»
сети:
dbnet:
Затем запустите:
докер-компоновка
Контейнеры MySQL и Adminer запускаются с теми же конфигурациями, которые использовались выше.Нажмите Ctrl + C , чтобы остановить и удалить контейнеры.
Запустите MySQL на вашей ОС
Установка MySQL на локальную машину разработки может быть практичной, если вы хотите использовать один экземпляр в нескольких проектах или требовать, чтобы служба запускалась при загрузке.
Пакеты «все в одном»
Существует несколько отличных универсальных дистрибутивов macOS, Linux и Windows, которые содержат Apache, PHP, MySQL, phpAdmin, сертификаты SSL, фреймворки и другие приложения в одном установочном пакете.Варианты включают:
Большинство из них идеально подходят для быстрой настройки разработки PHP и MySQL и могут предлагать несколько редакций каждой службы. Однако:
- Обновления не гарантируются. Многие пакеты по-прежнему предлагают более старые версии MySQL.
- Разработчики, использующие разные ОС или настраивающие конфигурации, могут вносить проблемы совместимости в общие кодовые базы.
- Среда разработки и производственная среда могут существенно отличаться.
Пакеты «все в одном» лучше всего подходят для проектов с одним программистом или для тех, кто плохо знаком с веб-разработкой.
Установить MySQL в Linux
Существует множество способов установить MySQL в различных дистрибутивах Linux:
- Некоторые дистрибутивы, такие как Ubuntu Server, по умолчанию предоставляют MySQL.
- Официальная документация предоставляет подробную информацию об установке с использованием менеджеров пакетов APT, Yum и SLES, а также пакетов RPM и Debian.
- В магазине snap доступны разные версии MySQL.
Установить MySQL на macOS
MySQL можно установить на macOS 10.13 и выше, загрузив образ диска .dmg с установщиком собственного пакета. Дважды щелкните, чтобы смонтировать образ, затем дважды щелкните файл .pkg
, чтобы запустить мастер установки.
Если вы решили не запускать MySQL автоматически, его можно запустить с помощью значка на панели системных настроек:
Также можно установить MySQL на macOS, используя:
Установить MySQL в Windows
MySQL можно установить в 64-битных выпусках Windows 10 и Windows 2012 Server R2 и выше.Вам также потребуются следующие среды выполнения:
Установщик MSI предоставляет сервер, а также такие инструменты, как MySQL Workbench. (Меньший «веб» установщик MSI загрузит пакеты, если будет выбран.)
Дважды щелкните файл MSI, чтобы запустить мастер установки, и обратитесь к документации MySQL для получения информации о конкретных параметрах конфигурации.
По умолчанию:
- Двоичные файлы программы
- и документация установлены на
% PROGRAMFILES% \ MySQL \ MySQL Server V.v \
(например,C: \ Program Files \ MySQL \ MySQL Server 8.0 \
) Данные базы данных - хранятся в
% PROGRAMDATA% \ MySQL \ MySQL Server V.v \
(например,C: \ ProgramData \ MySQL \ MySQL Server 8.0 \
)
Также доступен неустановленный ZIP-архив. Его можно скопировать на USB-накопитель или в любое другое место в системе Windows.
Сначала извлеките содержимое ZIP-архива в C: \ mysql
или в любую папку по вашему выбору.
Затем создайте папку, в которой будут храниться данные базы данных, например C: \ mysqldata
.Использование папки вне C: \ mysql
безопаснее и позволяет обновлять файлы приложений.
Теперь создайте файл my.ini
в C: \ mysql
, в котором указаны приложения и папки с данными. например:
[mysqld]
basedir = C: / MySQL
datadir = E: / mysqldata
(Требуются косые черты прямого пути /
, хотя можно использовать двойные обратные косые черты \
.)
Теперь инициализируйте папку данных и создайте пользователя root по умолчанию (без пароля), введя следующую команду в командной строке консоли:
C: \ mysql \ bin \ mysqld.exe --initialize-insecure --user = mysql
Теперь сервер может быть запущен с:
C: \ mysql \ bin \ mysqld.exe --console
Используйте клиент MySQL, введя C: \ mysql \ bin \ mysql.exe -u root
в другой консоли. Теперь вы можете вводить команды SQL, такие как show databases;
и выйдите, набрав exit
.
Сервер можно выключить с помощью:
C: \ mysql \ bin \ mysqladmin.exe -u root shutdown
При желании MySQL может быть установлен как автоматически запускаемая служба Windows:
C: \ mysql \ bin \ mysqld.exe --install
Служба запустится при перезагрузке, или вы можете ввести net start mysql
, чтобы запустить ее немедленно. Его можно остановить с помощью net stop mysql
или управлять с помощью панели Services в Windows Administrative Tools :
Полностью удалить услугу можно с помощью:
чистая остановка MySQL
C: \ mysql \ bin \ mysqld.exe - удалить
Подавляющие параметры MySQL
Существует несколько вариантов установки MySQL независимо от того, какую ОС вы используете.
Для тех, кто изучает MySQL, самый простой способ начать с облачного провайдера или комплексного пакета. По мере того, как ваше приложение начинает расти, рассмотрите возможность внедрения Docker в рабочий процесс разработки или управления локальной установкой MySQL. Docker становится все более практичным, поскольку к проекту присоединяются несколько разработчиков. В конце концов, вы сможете вернуться к облачным решениям по мере развития вашего успешного продукта.
Установка MySQL в Windows с помощью установщика MySQL
Резюме : в этом руководстве вы шаг за шагом узнаете, как установить MySQL на платформе Windows с помощью установщика MySQL.После обучения в вашей системе будет запущен сервер MySQL и его инструменты для обучения и практики.
Обратите внимание, что если вы используете другие платформы операционных систем, такие как Linux и macOS, используйте следующее руководство:
Загрузите установщик MySQL
Если вы хотите установить MySQL в среде Windows, использование установщика MySQL - самый простой способ. Установщик MySQL предоставляет вам простой в использовании мастер, который поможет вам установить MySQL со следующими компонентами:
- MySQL Server
- Все доступные коннекторы
- MySQL Workbench с образцами моделей данных
- MySQL Notifier
- Инструменты для Excel и Microsoft Visual Studio
- Образцы баз данных MySQL
- Документация MySQL
Чтобы загрузить установщик MySQL, перейдите по следующей ссылке http: // dev.mysql.com/downloads/installer/. Есть два установочных файла:
- Если вы подключаетесь к Интернету во время установки MySQL, вы можете выбрать версию онлайн-установки
mysql-installer-web-community-
..exe - Если вы хотите установить MySQL в автономном режиме, вы можете загрузить файл
mysql-installer-community-
..exe
Установите MySQL с помощью установщика MySQL
Чтобы установить MySQL с помощью установщика MySQL, дважды щелкните файл установщика MySQL и выполните следующие действия:
Установите MySQL Шаг 1: Windows настраивает установщик MySQL
Установите MySQL Шаг 2 - Добро пожаловать Экран: экран приветствия предлагает несколько вариантов.Выберите первый вариант: Установить продукты MySQL.
Установить MySQL. Шаг 3. Загрузите последние версии продуктов MySQL. Программа установки MySQL проверяет и загружает последние продукты MySQL, включая сервер MySQL, MySQL Workbench и т. Д.
Установите MySQL. Шаг 4: Нажмите кнопку «Далее», чтобы продолжить
Установка MySQL. Шаг 5. Выбор типа установки: доступно несколько типов установки. Выберите вариант «Полная», чтобы установить все продукты и функции MySQL.
Установка MySQL Шаг 6 - Проверка требований
Установка MySQL Шаг 7 - Ход установки: Программа установки MySQL загружает все выбранные продукты.Это займет некоторое время, в зависимости от того, какие продукты вы выбрали, и от скорости вашего интернет-соединения.
Установите MySQL. Шаг 7 - Процесс установки: выполняется загрузка продуктов.
Установите MySQL. Шаг 7 - Ход установки: завершение загрузки. Нажмите кнопку Next , чтобы продолжить…
Установите MySQL Шаг 8 - Обзор конфигурации. Нажмите кнопку «Далее», чтобы настроить сервер базы данных MySQL
. Установка MySQL. Шаг 8.1 - Настройка сервера MySQL: выберите тип конфигурации и порт MySQL (по умолчанию 3006) и нажмите кнопку «Далее», чтобы продолжить.
Установка MySQL Шаг 8.1 - Конфигурация сервера MySQL: выберите пароль для учетной записи
root
. Обратите внимание на загружаемый пароль и храните его в надежном месте, если вы устанавливаете сервер базы данных MySQL на производственный сервер. Если вы хотите добавить еще одного пользователя MySQL, вы можете сделать это на этом шаге. Установка MySQL Шаг 8.1 - Конфигурация сервера MySQL: выберите сведения о службе Windows, включая имя службы Windows и тип учетной записи, затем нажмите кнопку «Далее», чтобы продолжить.
Установите MySQL Шаг 8.1 - Конфигурация сервера MySQL - Выполняется: Программа установки MySQL настраивает сервер базы данных MySQL. Подождите, пока это будет сделано, и нажмите кнопку «Далее», чтобы продолжить.
Установите MySQL.