как поднять mysql сервер на linux
Установка MySQL в Ubuntu 20.04
Установка MySQL 8 в Ubuntu
Программа и все необходимые компоненты есть в официальных репозиториях, поэтому установить её не составит труда. Для установки из официальных репозиториев сначала обновите списки пакетов:
Затем установите необходимые пакеты:
sudo apt install mysql-server mysql-client
На данный момент в репозиториях Ubuntu 20.04 есть уже версия Mysql 8.20. Вы можете проверить установленную версию такой командой:
Кроме того, желательно проверить, запущенна ли служба MySQL:
sudo systemctl status mysql
Вы должны увидеть зеленую надпись Active, Running и версию программы, которую устанавливали.
Установка MySQL 5.7 в Ubuntu
Если вам нужна версия 5.7, то её в репозиториях нет, но вы можете получить эту версию из репозитория разработчика. Если в системе уже есть более новая версия, её надо полностью удалить:
Также удалите каталог с базами данных MySQL они не совместимы со старой версией:
Для установки репозитория скачайте этот пакет:
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
Затем установите его:
Затем выберите MySQL Server and Cluster:
После этого останется выбрать нужную версию MySQL, например 5.7:
После этого обновите списки репозиториев и посмотрите какие версии MySQL доступны:
sudo apt-cache policy mysql-server
Осталось установить установить mysql 5.7 в Ubuntu:
sudo apt install mysql-server=5.7.31-1ubuntu18.04 mysql-community-server=5.7.31-1ubuntu18.04 mysql-client=5.7.31-1ubuntu18.04
В процессе установки программа запросит пароль для root пользователя:
После этого вы снова можете посмотреть версию:
Настройка mysql в Ubuntu
Перед тем как вы сможете полноценно использовать только что установленную базу данных, необходимо выполнить ее первоначальную настройку. Для этого был разработан специальный скрипт, выполните его:
Введите Y для отключения анонимного доступа к MySQL, затем ещё раз Y чтобы запретить подключаться к базе от имени root удаленно:
Снова Y, чтобы удалить тестовую базу данных. Затем, обновите привилегии для пользователей:
После завершения настройки вы можете подключиться к пользователя root к серверу баз данных из командной строки:
Здесь нам необходимо создать пользователя, от имени которого мы будем использовать базу данных, а также саму базу данных. Для этого воспользуемся командами SQL. Сначала создаем базу данных:
mysql> CREATE DATABASE testDB;
Далее создадим пользователя:
mysql> CREATE USER ‘my_user’@’localhost’ IDENTIFIED BY ‘password’;
Слова my_user и password нужно заменить на свои имя пользователя и пароль. Дальше нужно дать права пользователю на управление этой базой данных:
mysql> GRANT ALL PRIVILEGES ON testDB.* TO ‘my_user’@’localhost’
Или вы можете дать права только на несколько инструкций:
mysql> GRANT SELECT,UPDATE,DELETE ON testDB.* TO ‘my_user’@’localhost’;
Если какую-либо инструкцию нужно запретить, удалите ее:
mysql> REVOKE UPDATE ON testDB.* FROM ‘my_user’@’localhost’;
После завершения работы с правами нужно их обновить:
mysql> FLUSH PRIVILEGES;
Чтобы убедиться что нет никого лишнего, вы можете вывести список пользователей:
mysql> SELECT user,host FROM mysql.user;
Также вы можете посмотреть полномочия для нужного пользователя:
mysql> SHOW GRANTS FOR ‘my_user’@’localhost’;
Теперь установка MySQL Ubuntu 20.04 полностью завершена и вы можете использовать эту базу данных для решения своих задач.
Удаление MySQL в Ubuntu
Чтобы удалить mysql Ubuntu 20.04 понадобиться немного больше команд чем для удаления простого пакета. После удаления основных пакетов в системе остается еще много файлов. Мы рассмотрим как удалить все.
Сначала остановите сервисы:
Удалите основные пакеты и их зависимости:
Удалите пользователя mysql и остатки программы в системе:
Удалите все логи подключений к mysql из терминала:
Теперь ваша система полностью очищена от MySQL.
Выводы
В этой статье мы рассмотрели как выполняется установка MySQL в Ubuntu 20.04. Как видите, это не очень трудно, хотя и требует некоторых знаний и немного времени на то, чтобы со всем разобраться. Надеюсь, эта информация была для вас полезной.
Установка и первоначальная настройка 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;
Установка и настройка 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
Более развернутую инструкцию с нюансами, касающимися версий MySQL, читайте ниже.
Требования
На сервере должна быть установлена ОС Ubuntu 18.04, должен быть создан пользователь с sudo привилегиями и настроен фаервол.
Шаг 1: установка MySQL
Репозиторий Ubuntu 18.04 по умолчанию содержит только последнюю версию MySQL. На момент написания статьи это 5.7.
Для того, чтобы установить эту версию, сначала обновите индекс пакетов:
А затем выполните установку:
Шаг 2: настройка MySQL
Если вы установили одну из свежих версий MySQL, то вы можете просто запустить включенный в нее скрипт безопасности. Он позволит изменить некоторые базовые настройки (например, настройки для удаленного доступа). В более старых версиях вносить эти изменения приходилось вручную (в то время как сейчас они будут выполнены автоматически).
Запустите скрипт безопасности:
После этого вы сможете внести некоторые изменения в настройки безопасности MySQL.
Далее можно просто нажимать Y и затем Enter для того, чтобы внести необходимые изменения. В результате будут удалены некоторые анонимные пользователи и тестовая база данных, будет отключена удаленная авторизация для суперпользователя и будут внесены некоторые другие изменения.
Для того, чтобы создать каталог данных MySQL, вам нужно использовать:
Если вы следовали этой инструкции, то каталог данных был создан автоматически, и вам ничего делать не надо. И если вы введете команду, то увидите следующую ошибку:
Обратите внимание, что несмотря на то, что вы установите пароль для суперпользователя MySQL, для этого пользователя не включена авторизация с паролем при подключении к MySQL. Это можно изменить, выполнив следующие действия.
Шаг 3: настройка аутентификации и привилегий
В ОС Ubuntu c MySQL 5.7 (и более поздними версиями) аутентификация суперпользователя MySQL по умолчанию настроена на использование плагина auth_socket, а не пароля. С точки зрения безопасности это хороший вариант, однако могут быть некоторые проблемы, особенно в тех случаях, когда вам нужно дать другой программе (например, phpMyAdmin) доступ к пользователю.
Если вы хотите использовать пароль для подключения к MySQL в качестве суперпользователя, вам нужно изменить метод аутентификации с auth_socket на mysql_native_password. Для этого откройте консоль MySQL:
Далее проверьте, какой метод аутентификации используется для каждого из ваших пользовательских аккаунтов MySQL:
В этом примере вы видите, что аутентификация суперпользователя происходит с использованием плагина auth_socket. Чтобы поменять настройку на использование пароля, выполните команду ниже. Обязательно выберите хороший и сложный пароль.
Теперь нужно, чтобы изменения вступили в силу. Введите команду:
Еще раз запросите, какие аутентификационные методы используются:
Вывод должен выглядеть теперь вот так:
Теперь аутентификация суперпользователя будет происходит с использованием пароля. После этого можно выйти из консоли MySQL:
Если вам нужен отдельный пользователь для работы с MySQL, то создать его можно следующим способом. Снова откройте консоль MySQL:
Примечание: если вы выполнили действия выше, и теперь для аутентификации суперпользователя используется пароль, вам нужно использовать другую команду для доступа в консоль MySQL. Для того, чтобы авторизоваться с административными правами, введите:
Теперь создайте нового пользователя и задайте надежный пароль:
Теперь новому пользователю можно задать нужные вам права. Например, доступ ко всем таблицам в базе данных, а также возможность менять, добавлять и удалять права пользователей. Для этого введите следующую команду:
Поэтому просто выйдите из консоли MySQL:
Теперь перейдем к тестированию MySQL.
Шаг 4: тестирование MySQL
Вне зависимости от того, как вы установили MySQL, СУБД должна запуститься автоматически.
Проверить статус можно следующей командой:
Вывод должен быть примерно вот таким:
Если же MySQL по какой-то причине не работает, ее можно запустить командой:
Дополнительно можно выполнить проверку, используя mysqladmin, который позволяет использовать административные команды. Например, при помощи команды ниже можно подключиться к MySQL в качестве суперпользователя (-u root), запросить пароль (-p) и показать версию: