Установка и настройка 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

Итак, как я уже сказал, рассмотрим мы два способа установки и начнем мы с рассмотрения установки с помощью менеджера программ.

Установка MySQL с помощью менеджера программ

MySQL в Linux Mint устанавливается также как и любая другая программа, о том, как устанавливать программы с помощью менеджера программ, мы с Вами говорили в материале «Установка и удаление программ в Linux Mint».

Для наглядности давайте все равно разберем процесс установки MySQL. Запускаем менеджер программ Меню->Менеджер программ или Меню->Администрирование->Менеджер программ.

Скриншот 2

Вводим пароль администратора компьютера.

Скриншот 3

В поиск вводим MySQL и нажимам Enter (ввод), затем щелкаем двойным кликом по нужной программе. В нашем случае начинаем с MySQL-Server.

Скриншот 4

В открывшемся окне щелкаем «Установить».

Скриншот 5

В процессе установки менеджер программ попросит нас придумать и ввести пароль для суперпользователя root в MySQL, мы вводим и нажимаем «Вперед».

Скриншот 6

Затем еще раз вводим его для подтверждения.

Скриншот 7

После того как изменится статус на «Установлена» переходим к установке следующей программы, для этого щелкаем на вкладку «Результаты поиска».

Скриншот 8

Затем точно таким же способом устанавливаем Mysql-client и Mysql-workbench (для установки MySQL Workbench потребуется около 200 мегабайт).

Все, на этом процесс базовой установки MySQL с помощью менеджера программ закончен.

Установка MySQL с помощью терминала

Запускаем терминал Linux. Например, щелкаем по ссылке на панели или запускаем из меню Mint.

Скриншот 9

Устанавливать MySQL необходимо от имени суперпользователя root, поэтому давайте сразу переключимся на этого пользователя. Для этого пишем sudo -i (или sudo su) и жмем Enter (ввод), затем вводим пароль пользователя.

Далее сначала давайте обновим список пакетов, для этого пишем команду.

     
     apt-get update

Затем для установки: MySQL Server, MySQL Client и MySQL Workbench пишем следующую команду.

     
     apt-get -y install mysql-server mysql-client mysql-workbench

Скриншот 10

В процессе установки нам предложат придумать и ввести пароль для администратора сервера MySQL (пользователя root), мы вводим пароль и в следующем окне подтверждаем его.

Скриншот 11

Скриншот 12

Установка будет завершена, как распакуются и настроятся все пакеты.

Настройка MySQL

После установки первое, что нам необходимо сделать, это осуществить базовую настройку сервера MySQL. Даже если он у Вас будет только локально на домашнем компьютере.

Базовая настройка безопасности MySQL

По умолчанию MySQL устанавливается с некоторыми небезопасными параметрами, поэтому нам необходимо сделать наш сервер чуть более безопасным. Для этого выполним специальный скрипт под названием mysql_secure_installation в терминале Linux. Скрипт выполнять нужно также от имени root или с использованием команды sudo.

В процессе Вам будут задавать вопросы, практически на все отвечаем «Да», т.е. пишем «Y». Исключение может составлять вопрос о смене пароля пользователя root (Change the password for root?), т.е. его можно не менять и ответить «N», если в процессе установки MySQL мы задали хороший пароль для root. Сразу после запуска скрипта вводим пароль администратора сервера MySQL (как раз тот самый пароль от пользователя root).

     
     mysql_secure_installation

Потом будет вопрос о том, хотим ли мы активировать плагин проверки сложности пароля, отвечаем «Y», т.е. «Да».

В случае если мы активируем данный плагин, у нас спросят уровень сложности пароля, давайте ответим 2, т.е. средней сложности (цифры, большие/маленькие буквы и спец. символы).

Далее будет вопрос как раз о смене пароля пользователя root, как я уже сказал, я отвечаю «N», т.е. «Нет». Если на этапе установки MySQL Вы придумали для root простой пароль, то в этом случае лучше конечно его сменить.

Скриншот 13

Затем мы отвечаем «Y», для того чтобы удалить анонимных пользователей. Также отвечаем «Y», для того чтобы запретить пользователю root удаленное подключение.

Скриншот 14

Потом снова отвечаем «Y», для удаления тестовой базы данных и на последний вопрос также отвечаем «Y» для перезагрузки таблицы привилегий.

Скриншот 15

На этом базовая настройка безопасности завершена.

Настройка кодировки в MySQL

По умолчанию в MySQL установлена кодировка latin1, для того чтобы мы могли вносить, хранить и читать данные на кириллице, давайте изменим эту кодировку на utf8, в данном случае все созданные нами объекты на сервере по умолчанию будут иметь кодировку utf8. Также мы укажем настройки, при которых все подключения к серверу принудительно будут иметь также кодировку utf8. Для этого давайте откорректируем конфигурационный файл /etc/mysql/my.cnf. Это мы будем делать в терминале, поэтому открываем его и вводим следующую команду (также от имени root или с использованием команды sudo).

     
     nano /etc/mysql/my.cnf

Скриншот 16

После того как Вы откроете этот файл, опуститесь чуть ниже и укажите следующие параметры.

   
        [mysqld]
        character-set-server=utf8
        collation-server=utf8_general_ci
        init_connect='SET collation_connection = utf8_general_ci'
        init_connect='SET NAMES utf8'
        skip-character-set-client-handshake

        [client]
        default-character-set=utf8

        [mysqldump]
        default-character-set=utf8

Скриншот 17

Сохраняем файл сочетанием клавиш Ctrl+O и жмем Enter, затем закрываем его также сочетанием клавиш только Ctrl+X.

После внесения изменений в конфигурационный файл, сервер MySQL необходимо перезагрузить, например вот так.

     
     systemctl restart mysql

Скриншот 18

Настройка удаленного доступа к серверу MySQL

Если вдруг Вам понадобилось, чтобы к Вашему серверу можно было подключаться с других компьютеров, то для этого необходимо изменить одну настройку в файле mysqld.cnf, а именно параметр bind-address, по умолчанию в нем указано что подключаться к серверу можно только с локального компьютера. Для того чтобы разрешить подключение с любых компьютеров укажите bind-address=0.0.0.0. Запускаем также с правами суперпользователя.

     
     nano /etc/mysql/mysql.conf.d/mysqld.cnf

Скриншот 19

После внесения изменений также сохраняем/закрываем (Ctrl+O, Ctrl+X) файл и перезагружаем сервер MySQL.

     
     systemctl restart mysql

Скриншот 20

Подключение к серверу MySQL с помощью MySQL Workbench

После установки пакета MySQL-Workbench у Вас в меню Mint появился пункт «Программирование», в котором есть программа «MySQL Workbench». Для подключения к серверу MySQL запускаем данную программу.

Скриншот 21

После запуска в MySQL Workbench у нас уже будет по умолчанию настроено локальное подключение от имени пользователя root, но работать от имени этого пользователя крайне не рекомендуется. Поэтому мы только сейчас подключимся от имени root, создадим БД и пользователя, а потом уже будем подключаться от имени созданного нами пользователя. Сейчас я сразу покажу Вам, как можно создавать новое подключение, для этого нажимаем на иконку плюсик «+».

Скриншот 22

Вводим необходимые параметры (имя подключения, хост, порт, учетную запись), я указываю их на примере пользователя root (для проверки доступа можете нажать на кнопку «Test Connection») и нажимаем «OK».

Скриншот 23

После этого щелкаем на созданное подключение.

Скриншот 24

Система спросит пароль, мы вводим пароль и жмем «OK». После чего мы подключимся к серверу MySQL.

Скриншот 25

Скриншот 26

Создание базы данных и таблицы в MySQL, а также вставка данных в таблицу

Теперь давайте для примера создадим базу данных с названием TestBase. Для этого пишем инструкцию CREATE DATABASE.

А потом давайте создадим таблицу TestTable и вставим в нее одну строку (предварительно перейдя в нужную БД).

   
        #Создание базы данных
        CREATE DATABASE TestBase;
        #Подключаемся к нужной базе данных
        USE TestBase;
        #Создаем таблицу
        CREATE TABLE TestTable (id INT, comment VARCHAR (100));
        #Вставляем данные в таблицу
        INSERT INTO TestTable (id, comment) VALUES (1, 'Текст');
        #Осуществляем выборку данных
        SELECT * FROM TestTable

Скриншот 27

Создание пользователя в MySQL

Сейчас, как я и говорил, давайте создадим нового пользователя, для того чтобы потом работать от его имени. Я для примера создам пользователя TestUser и разрешу ему подключаться с любого хоста, а также дам ему полные права на управление базой TestBase. Для этого пишем следующую инструкцию.

   
        #Создаем пользователя
        CREATE USER 'TestUser'@'%' IDENTIFIED BY 'Pa$$w0rd';
        #Назначаем права
        GRANT ALL PRIVILEGES ON TestBase.* TO 'TestUser'@'%';
        #Применяем изменения
        FLUSH PRIVILEGES;

Скриншот 28

Где,

  • TestUser – это имя учетной записи, Вы указываете свою;
  • % — это означает, что пользователь может подключаться с любого хоста, в случае если Вы хотите, чтобы пользователь подключался только с локального компьютера, то вместо этого символа можете указать localhost;
  • Pa$$w0rd – это пароль от учетной записи (Вы указываете свой придуманный пароль);
  • ALL PRIVILEGES – означает, что мы даем пользователю полные права, в случае необходимости Вы можете указать только нужную привилегию;
  • TestBase.* — означает, что права мы даем только на определенную базу данных, в нашем случае TestBase. Для того чтобы дать права на все БД напишите *.*;
  • FLUSH PRIVILEGES – сохраняем все изменения, которые мы внесли.

Подключение к серверу MySQL с помощью консольной утилиты MySQL

Для того чтобы подключиться к серверу MySQL с помощью утилиты MySQL, запускаем терминал и вводим следующую команду, на запрос Enter password вводим пароль.

     
     mysql -u TestUser -p

Затем давайте для примера сделаем выборку из нашей тестовой таблицы, для этого подключимся к БД и напишем запрос SELECT (не забываем писать точку с запятой (;) в конце инструкции).

     
     USE TestBase;
     SELECT * FROM TestTable;

Скриншот 29

Как видим, мы подключились и успешно выполнили запрос.

Удаление MySQL и MySQL Workbench в Linux Mint 18.2

Если вдруг Вам необходимо удалить сервер MySQL и клиентскую программу MySQL Workbench, то для этого Вы также можете использовать менеджер программ, т.е. найти нужную программу и нажать «Удалить».

Скриншот 30

Это нужно сделать для каждой программы, которую Вы хотите удалить, т.е. для MySQL-Server, MySQL-Client и для MySQL-Workbench.

Удалить MySQL также можно и в терминале Linux. Для этого открываем терминал и пишем следующую команду от имени суперпользователя.

     
     apt-get -y remove --purge mysql-server mysql-client mysql-workbench

Скриншот 31

Ключ —purge означает, что мы хотим удалить пакеты вместе с их файлами настройки. В данном случае мы удалили сразу все 3 программы, за исключением связанных пакетов, которые установились автоматически. Для удаления связанных пакетов необходимо использовать команду apt-get -y autoremove, тем самым Вы можете высвободить место на диске.

На этом моя статья, посвященная установке MySQL на ОС Linux Mint, закончена, надеюсь, она была Вам полезна, удачи!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Комментариев: 6
  1. Аватар
    Gosha

    Очень интересная и полезная статья… как раз то что я искал… не хватает лишь описания, как установить и настроить phpMyAdmin в Linux Mint 18.2. Если не трудно — осветите данный вопрос в следующей статье.

    1. Админ
      Админ (автор)

      Здравствуйте!
      Добавил статью, посвященную установке phpMyAdmin в Linux Mint 18.2, можете посмотреть вот она.

  2. Аватар
    Sergei

    Спасибо. Очень полезная статья. Интересно было бы узнать про MariaDB. В чем отличия от MySQL.

  3. Аватар
    Vladimir

    Не удается подключиться от root при создании пользователяю Сообщение Failed to Connect to MySQL at 127.0.0.1:3306 with user root. Linux Mint 19.1

  4. Аватар
    Сергей

    Неплохо. Но вот в моменте про bind-address ошибочка. Вместо «0.0.0.0» вписывается не адрес компьютера, с которого разрешено подключаться, а адрес интерфейса, на котором сервер будет слушать запросы.

    «все нули» == «слушать на всех доступных интерфейсах»

    Легко проверяется через netstat

    1. Админ
      Админ (автор)

      Спасибо, поправил

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.