Установка и первоначальная настройка MySQL в linux
Установка MySQL из репозитория
Установка сервера MySQL из репозитория
Для установки сервера MySQL в Debian достаточно набрать команду:
apt-get install mysql-server
В операционной системе RHEL / CentOS также все довольно просто:
yum install mysql-server
При этом будет установлена актуальная (на момент выполнения команды) версия MySQL. На момент написания статьи это версия 5.5.
Обратите внимание: после установки сервера MySQL его необходимо запустить. Для этого (как в Debian, так и в RHEL / CentOS) необходимо выполнить команду:
service mysqld start
Кроме того, рекомендуем перезагрузить сервер и убедиться, что MySQL запускается при загрузке. Если не запускается, то в CentOS выполните команду:
chkconfig mysqld on
Установка клиента MySQL из репозитория
Для установки клиента mysql запустите в debian следующую команду:
apt-get install mysql-client
В случае, если у Вас установлен RHEL / CentOS, выполните такую команду:
yum install mysql
При этом будет установлена актуальная (на момент выполнения команды) версия MySQL. На момент написания статьи это версия 5.5.
Установка библиотек MySQL для поддержки компиляции (MySQL development) из репозитория
Если Вы устанавливаете MySQL не по своему желанию, а потому, что это необходимо для установки какой-либо программы (например, asterisk, поддержка cdr_mysql), то просто установить сервер (и/или клиент) MySQL недостаточно. Необходимо также поставить библиотеки MySQL, чтобы компиляция зависящей от MySQL программы была успешной.
Для debian это будет команда:
apt-get install libmysqlclient-dev
Для RHEL / CentOS выполните:
yum install mysql-devel
Первоначальная настройка MySQL
Задать пароль MySQL root
Настройка MySQL для работы в производственной среде
Выполните из командной строки:
/usr/bin/mysql_secure_installation
Создать необходимую базу данных и пользователя для нее
Это командная строка MySQL. Все SQL запросы и команды на создание баз данных, пользователей и т.д. вводятся в этой командной строке.
Для создания базы данных выполните в командной строке MySQL:
create database имя-базы-данных character set кодировка-базы-данных ;
например:
create database asterisk character set utf8;
Кодировку можно не указывать, при этом будет использоваться кодировка по умолчанию (см. настройки сервера MySQL):
create database mydatabase;
Sergey Danielyan
Правильная установка и настройка MySQL в Linux
Установка MySQL
Проверяем, установлен ли MySQL сервер
Если установлен, шаги по установке можете пропустить, хотя ознакомиться я все же советую с ними.
Существуют следующие основные пакеты связанные с mysql:
sudo yum install mysql mysql-server mysql-devel mysql-connector-java
Теперь надо установить сервер mysql на запуск в определенные runlevel‘ы (2, 3 и 5):
Если кто забыл соответствие цифрового значения runlevel‘а символьному:
Стартуем демон mysql:
Настройка сервера
Теперь пора настроить сервер. Начнем с пользователей.
Вот состояние таблицы user до начала действий с ней:
5 rows in set (0.00 sec)
> quit
Как видете, безопасность на уровне плинтуса. Хорошо хоть, что анонимного пользователя нет.
Для настройки базовых вещей в сервере, запустим настройку сервера через mysql_secure_installation. На время этой установки, пароль будет security. Ваш же пароль, как понимаете, должен отличаться.
Запустится скрипт, с запросами на то или иное действие. Вот ответы:
Install new password for root: security
А вот тут можно установить пароль для root
Do remove an anonymous user
На вопрос о том, удалить ли анонимного пользователя, отвечаем да
Do not disallow remote connections
Не запрещаем коннект к нашему северу с удаленных серверов (если, конечно, эта опция вам нужна, в другом случае, запретите ее)
Do reload the privileges
Перегрузим привилегии для их активации
Теперь для всех root пользователей установлен пароль.
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘security’);
SET PASSWORD FOR ‘root’@’localhost.localdomain’ = PASSWORD(‘security’);
SET PASSWORD FOR ‘root’@’127.0.0.1’ = PASSWORD(‘security’);
UPDATE mysql.user SET Password = PASSWORD(‘security’) WHERE user = ‘root’;
Если же вы не запускали конфигурацию через mysql_secure_installation или не хотите этого делать по каким-то другим причинам, следующие команды удалят any пользователей:
DROP USER »@’localhost’;
DROP USER »@’localhost.localdomain’;
Также, пароль для IPv6 localhost (@::1) можно установить таким образом:
Близится финал нашего действия. Осталось две вещи:
[mysqld]
init_connect=‘SET collation_connection = utf8_unicode_ci’
character-set-server = utf8
collation-server = utf8_unicode_ci
[client]
default-character-set = utf8
Повышаем безопасность стека web-приложений (виртуализация LAMP, шаг 2/6)
Перейдем ко второму практическому уроку серии и поговорим о настройке виртуального окружения выделенного сервера – подготовим узел (VM) предназначенный для хранения и обслуживания доступа к БД MySQL/PostgreSQL.
В этой установке, мы будем использовать сервер баз данных MySQL. Все настройки этого урока будут проводится исключительно на vm04 с IP-адресом 192.168.1.13
Установка сервера MySQL
Настройка сервера MySQL
Отредактируем файл /etc/my.cnf:
Убедитесь, что MySQL сервер доступен с виртуальных машин vm01 и vm02 с установленными на нем Apache+php5. Найдите раздел [mysqld] и добавте/исправьте следующие параматеры, что бы mysqld служба БД стала доступна удаленно:
Оптимизация параметров MySQL-сервера
Необходимо оптимизировать сервер MySQL, иначе он отъест весомую часть ресурсов виртуальной машины vm04. Вы можете добавить или исправить настройки следующим образом (подробнее — в руководстве по MySQL).
Сохраним изменения и закроем файл. Перезагрузим/перезапустим сервер MySQL:
Убедимся, что на TCP-порту #3306 работает mysqld:
MySQL сервера баз данных конфигурации брандмауэра
Отредактируем конфигурацию брандмауэра /etc/sysconfig/iptables:
Убедитесь, что виртуальные машины vm01 и vm02 могут получить доступ к серверу баз данных:
Увеличение дисковых квот и диапазона портов сервера БД
Для нагруженных серверов СУБД следует увеличить предельное количество дескрипторов файлов (FD limits) и увеличить число доступных IP-портов
Активируем изменения, введя следующую sysctl-команду, изменяющую параметры ядра Linux исходя из указанных нами настроек:
Создание баз данных MySQL и учетных записей пользователей
Введите следующую команду для создания БД и требующихся пользователей:
Чтобы создать БД с именем foo, введите следующую команду в строке терминала mysql:
Необходимо предоставить права доступа к этой БД пользователю MySQL с именем bar, под которым сервера приложений Apache + php5 будут подключаться к БД.
Что бы выйти из консоли MySQL, введите следующую команду:
Теперь можно создавать таблицы или загрузить данные, используя SQL-файл. Вы можете автоматизировать эту процедуру, написав шелл- или Perl-скрипт добавления пользователей MySQL и баз данных.
Проверьте вашу новенькую БД и пользовательские настройки с «удаленных» vm01 и vm02
Подключитесь через ssh к виртуальному узлу vm01 или узлу vm03 и введите следующую команду, чтобы проверить связь с Apache/Lighttpd web-сервером:
PhpMyAdmin
PhpMyAdmin – известный web-интерфейс к БД MySQL. Этот серверный скрипт используется для удаленного администрирования MySQL с помощью одного лишь браузера. PhpMyAdmin может администрировать как весь сервер MySQL, так и одну базу данных. Этот пакет рекомендуется для всех новых пользователей базы данных MySQL и администраторов.
Ссылки на продолжение в конце поста будут проставлены в течение недели, по мере перевода и при вашем желании слушать дальше этот перевод.
Установка и настройка MySQL сервера и MySQL Workbench на Linux Mint 18.2
Если Вы хотели поработать с MySQL в операционной системе Linux Mint 18, например, для того чтобы изучить язык SQL или просто познакомиться с СУБД (а может быть задействовать ее у себя на работе), но Вы не знаете, как установить сервер MySQL, какие первоначальные настройки необходимо внести, каким клиентом подключаться, для того чтобы писать запросы на языке SQL, то данный материал для Вас, так как в нем мы рассмотрим процесс установки MySQL и клиентского приложения MySQL Workbench.
Итак, Вы уже, наверное, догадались, что данный материал для начинающих, поэтому начать хотелось бы с небольшой теории про MySQL.
MySQL – это бесплатная реляционная система управления базами данных. Разработку и поддержку СУБД MySQL осуществляет компания Oracle. MySQL является одной из самых популярных в мире баз данных для веб-приложений (сайтов).
MySQL реализована для большинства современных операционных систем, например: Windows, Linux, FreeBSD, Mac OS X, Solaris.
Если кому интересно как выглядит процесс установки MySQL в Windows, то можете ознакомиться с материалом «Установка MySQL на Windows 7», так как в нем мы подробно рассматривали данный процесс.
Для того чтобы работать с сервером MySQL (создавать таблицы, писать запросы на получение данных и так далее) необходимо специальное клиентское приложение. Таких приложений много, как платных, так и бесплатных, в данном материале мы рассмотрим две клиентских программы, это стандартную консольную утилиту MySql и графический инструмент MySQL Workbench.
Утилита MySql – это стандартная консольная программа для работы с сервером MySQL. Начинающим пользователям, наверное, будет не удобно ее использовать, так как она не имеет графического интерфейса, все команды пишутся вручную в командной строке (терминале).
MySQL Workbench – это программа для работы с сервером MySQL, которая имеет графический интерфейс. Она позволяет осуществлять разработку баз данных и администрировать сервер.
Переходим к рассмотрению процесса установки MySQL и MySQL Workbench в операционной системе Linux Mint 18.2, мы с Вами рассмотрим два способа установки: первый – это с помощью графического инструмента (менеджера программ), и второй, более продвинутый способ, — с помощью терминала Linux.
Описание установки MySQL и MySQL Workbench на Linux Mint 18.2
Итак, как я уже сказал, рассмотрим мы два способа установки и начнем мы с рассмотрения установки с помощью менеджера программ.
На заметку! Если Вы обычный пользователь домашнего компьютера и хотите познакомиться с Linux поближе, рекомендую почитать мою книгу – « Linux для обычных пользователей », в ней я подробно рассказываю про основы операционной системы Linux
Установка MySQL с помощью менеджера программ
MySQL в Linux Mint устанавливается также как и любая другая программа, о том, как устанавливать программы с помощью менеджера программ, мы с Вами говорили в материале «Установка и удаление программ в Linux Mint».
Для наглядности давайте все равно разберем процесс установки MySQL. Запускаем менеджер программ Меню->Менеджер программ или Меню->Администрирование->Менеджер программ.
Вводим пароль администратора компьютера.
В поиск вводим MySQL и нажимам Enter (ввод), затем щелкаем двойным кликом по нужной программе. В нашем случае начинаем с MySQL-Server.
В открывшемся окне щелкаем «Установить».
В процессе установки менеджер программ попросит нас придумать и ввести пароль для суперпользователя root в MySQL, мы вводим и нажимаем «Вперед».
Затем еще раз вводим его для подтверждения.
После того как изменится статус на «Установлена» переходим к установке следующей программы, для этого щелкаем на вкладку «Результаты поиска».
Затем точно таким же способом устанавливаем Mysql-client и Mysql-workbench (для установки MySQL Workbench потребуется около 200 мегабайт).
Все, на этом процесс базовой установки MySQL с помощью менеджера программ закончен.
Установка MySQL с помощью терминала
Запускаем терминал Linux. Например, щелкаем по ссылке на панели или запускаем из меню Mint.
Далее сначала давайте обновим список пакетов, для этого пишем команду.
Затем для установки: MySQL Server, MySQL Client и MySQL Workbench пишем следующую команду.
В процессе установки нам предложат придумать и ввести пароль для администратора сервера MySQL (пользователя root), мы вводим пароль и в следующем окне подтверждаем его.
Установка будет завершена, как распакуются и настроятся все пакеты.
Настройка MySQL
После установки первое, что нам необходимо сделать, это осуществить базовую настройку сервера MySQL. Даже если он у Вас будет только локально на домашнем компьютере.
Базовая настройка безопасности MySQL
По умолчанию MySQL устанавливается с некоторыми небезопасными параметрами, поэтому нам необходимо сделать наш сервер чуть более безопасным. Для этого выполним специальный скрипт под названием mysql_secure_installation в терминале Linux. Скрипт выполнять нужно также от имени root или с использованием команды sudo.
В процессе Вам будут задавать вопросы, практически на все отвечаем «Да», т.е. пишем «Y». Исключение может составлять вопрос о смене пароля пользователя root (Change the password for root?), т.е. его можно не менять и ответить «N», если в процессе установки MySQL мы задали хороший пароль для root. Сразу после запуска скрипта вводим пароль администратора сервера MySQL (как раз тот самый пароль от пользователя root).
Потом будет вопрос о том, хотим ли мы активировать плагин проверки сложности пароля, отвечаем «Y», т.е. «Да».
В случае если мы активируем данный плагин, у нас спросят уровень сложности пароля, давайте ответим 2, т.е. средней сложности (цифры, большие/маленькие буквы и спец. символы).
Далее будет вопрос как раз о смене пароля пользователя root, как я уже сказал, я отвечаю «N», т.е. «Нет». Если на этапе установки MySQL Вы придумали для root простой пароль, то в этом случае лучше конечно его сменить.
Затем мы отвечаем «Y», для того чтобы удалить анонимных пользователей. Также отвечаем «Y», для того чтобы запретить пользователю root удаленное подключение.
Потом снова отвечаем «Y», для удаления тестовой базы данных и на последний вопрос также отвечаем «Y» для перезагрузки таблицы привилегий.
На этом базовая настройка безопасности завершена.
Настройка кодировки в MySQL
По умолчанию в MySQL установлена кодировка latin1, для того чтобы мы могли вносить, хранить и читать данные на кириллице, давайте изменим эту кодировку на utf8, в данном случае все созданные нами объекты на сервере по умолчанию будут иметь кодировку utf8. Также мы укажем настройки, при которых все подключения к серверу принудительно будут иметь также кодировку utf8. Для этого давайте откорректируем конфигурационный файл /etc/mysql/my.cnf. Это мы будем делать в терминале, поэтому открываем его и вводим следующую команду (также от имени root или с использованием команды sudo).
После того как Вы откроете этот файл, опуститесь чуть ниже и укажите следующие параметры.
Сохраняем файл сочетанием клавиш Ctrl+O и жмем Enter, затем закрываем его также сочетанием клавиш только Ctrl+X.
После внесения изменений в конфигурационный файл, сервер MySQL необходимо перезагрузить, например вот так.
Настройка удаленного доступа к серверу MySQL
Если вдруг Вам понадобилось, чтобы к Вашему серверу можно было подключаться с других компьютеров, то для этого необходимо изменить одну настройку в файле mysqld.cnf, а именно параметр bind-address, по умолчанию в нем указано что подключаться к серверу можно только с локального компьютера. Для того чтобы разрешить подключение с любых компьютеров укажите bind-address=0.0.0.0. Запускаем также с правами суперпользователя.
После внесения изменений также сохраняем/закрываем (Ctrl+O, Ctrl+X) файл и перезагружаем сервер MySQL.
Подключение к серверу MySQL с помощью MySQL Workbench
После установки пакета MySQL-Workbench у Вас в меню Mint появился пункт «Программирование», в котором есть программа «MySQL Workbench». Для подключения к серверу MySQL запускаем данную программу.
После запуска в MySQL Workbench у нас уже будет по умолчанию настроено локальное подключение от имени пользователя root, но работать от имени этого пользователя крайне не рекомендуется. Поэтому мы только сейчас подключимся от имени root, создадим БД и пользователя, а потом уже будем подключаться от имени созданного нами пользователя. Сейчас я сразу покажу Вам, как можно создавать новое подключение, для этого нажимаем на иконку плюсик «+».
Вводим необходимые параметры (имя подключения, хост, порт, учетную запись), я указываю их на примере пользователя root (для проверки доступа можете нажать на кнопку «Test Connection») и нажимаем «OK».
После этого щелкаем на созданное подключение.
Система спросит пароль, мы вводим пароль и жмем «OK». После чего мы подключимся к серверу MySQL.
Создание базы данных и таблицы в MySQL, а также вставка данных в таблицу
Теперь давайте для примера создадим базу данных с названием TestBase. Для этого пишем инструкцию CREATE DATABASE.
А потом давайте создадим таблицу TestTable и вставим в нее одну строку (предварительно перейдя в нужную БД).
Заметка! Если Вас интересует язык SQL, рекомендую пройти мой онлайн-курс по основам SQL, который ориентирован на изучение SQL как стандарта, таким образом, Вы сможете работать в любой системе управления базами данных. Курс включает много практики: онлайн-тестирование, задания и многое другое.
Создание пользователя в MySQL
Сейчас, как я и говорил, давайте создадим нового пользователя, для того чтобы потом работать от его имени. Я для примера создам пользователя TestUser и разрешу ему подключаться с любого хоста, а также дам ему полные права на управление базой TestBase. Для этого пишем следующую инструкцию.
Подключение к серверу MySQL с помощью консольной утилиты MySQL
Для того чтобы подключиться к серверу MySQL с помощью утилиты MySQL, запускаем терминал и вводим следующую команду, на запрос Enter password вводим пароль.
Затем давайте для примера сделаем выборку из нашей тестовой таблицы, для этого подключимся к БД и напишем запрос SELECT (не забываем писать точку с запятой (;) в конце инструкции).
Как видим, мы подключились и успешно выполнили запрос.
Удаление MySQL и MySQL Workbench в Linux Mint 18.2
Если вдруг Вам необходимо удалить сервер MySQL и клиентскую программу MySQL Workbench, то для этого Вы также можете использовать менеджер программ, т.е. найти нужную программу и нажать «Удалить».
Это нужно сделать для каждой программы, которую Вы хотите удалить, т.е. для MySQL-Server, MySQL-Client и для MySQL-Workbench.
Удалить MySQL также можно и в терминале Linux. Для этого открываем терминал и пишем следующую команду от имени суперпользователя.
На этом моя статья, посвященная установке MySQL на ОС Linux Mint, закончена, надеюсь, она была Вам полезна, удачи!
Как установить MySQL в Ubuntu 18.04
Published on July 18, 2018
Введение
MySQL является системой управления базами данных с открытым исходным кодом и обычно используется, как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). MySQL использует реляционную базу данных и SQL (Structured Query Language, язык структурированных запросов) для управления данными.
Это руководство описывает процесс установки MySQL версии 5.7 на сервер с Ubuntu 18.04. Если вам необходимо обновить установленную ранее версию MySQL до версии 5.7, вы можете ознакомиться с руководством по обновлению MySQL до версии 5.7.
Необходимые условия
Перед тем, как начать следовать шагам, описанным в этом руководстве, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере с Ubuntu 18.04. Вы можете сделать это используя нашу статью о первичной настройке сервера на Ubuntu 18.04.
По умолчанию в репозиторий пакетов APT в Ubuntu 18.04 включена только последняя версия MySQL. На момент написания этого руководства это MySQL 5.7.
Для установки этой версии обновите индекс пакетов apt командой:
Затем установите пакет:
Эта команда установит MySQL, но при этом вам не будет предложено задать пароль или внести какие-либо правки в конфигурацию. Поскольку это делает установку небезопасной, рассмотрим далее, как настроить установленную MySQL.
В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удалённый вход для пользователей root и пользователи, созданные по умолчанию. В старых версиях MySQL вам было необходимо также инициализировать директорию данных вручную, теперь это делается автоматически.
Выполните скрипт безопасности командой:
В результате выполнения этого скрипта вам будет предложено внести изменения в настройки безопасности вашей MySQL. Сначала вам будет предложено установить плагин валидации паролей (Validate Password Plugin), который позволяет тестировать надёжность паролей MySQL. Далее вам предложат задать пароль для пользователя root вашей установки MySQL. Выберите надёжный пароль и введите его два раза.
Далее вы можете выбирать Y и нажимать ENTER для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи и тестовые базы данных, будет отключена возможность удалённого входа для root пользователей, после чего все внесённые изменения будут применены к вашей установке MySQL.
Обратите внимание, несмотря на то, что вы задали пароль для пользователя root для MySQL, этот пользователь не настроен для аутентификации по паролю при подключении к оболочке (shell) MySQL. Вы можете изменить эту настройку на следующем шаге 3.
Далее проверьте, какой метод аутентификации используется для каждого из ваших пользователей MySQL:
Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации:
Как можно видеть на представленном выводе теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:
В некоторых случаях бывает полезно использовать для входа в MySQL отдельного пользователя. Для создания такого пользователя войдите в оболочку MySQL:
Внимание: Если вы включили вход по паролю для пользователя root, как описано выше, вам потребуется использовать другую команду для входа в оболочку MySQL. Команда выше запустит оболочку с привилегиями обычного пользователя, для получения привилегий администратора вам необходимо выполнить следующую команду:
Далее создайте нового пользователя и задайте для него надёжный пароль:
Далее задайте для пользователя подходящий набор привилегий. Например, вы можете дать пользователю доступ ко всем таблицами в базе данных, а также права на добавление, изменение и удаление пользовательских привилегий следующей командой:
После этого, выйдите из оболочки MySQL:
Теперь мы можем протестировать нашу установку MySQL.
Вне зависимости от того, как именно вы установили MySQL, она должна запуститься автоматически. Проверим это следующей командой:
Вы увидите вывод, похожий на этот:
Вы увидите вывод, похожий на этот:
Это означает, что MySQL запущена и работает.
Заключение
Теперь на вашем сервере установлена и настроена MySQL. Вот несколько примеров того, что можно сделать дальше:

































