Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 16

Установка и первичная настройка MySQL на Ubuntu 16.04

MySQL — это быстрый, многопоточный, многопользовательский и устойчивый сервер SQL базы данных. Он предназначен как для ответственных сильнозагруженных производственных систем, так и для встраивания в массовое программное обеспечение.

Для установки MySQL запустите следующую команду из терминала:

sudo apt-get install mysql-server

Начиная с Ubuntu 12.04, MySQL 5.5 устанавливается по умолчанию. Несмотря на 100% совместимость с MySQL 5.1, при необходимости установить версию 5.1 (например в качестве зависимой базы к другим MySQL 5.1 серверам), вы можете заменить устанавливаемый пакет на mysql-server-5.1.

В процессе установки у вас запросят пароль для пользователя root под MySQL.

Как только установка завершится, сервер MySQL запустится автоматически. Вы можете использовать следующую команду в терминале для проверки, что сервер MySQL запущен:

sudo netstat -tap | grep mysql

Когда вы запустите эту команду, ввы сможете увидеть что-то похожее на следующую строку:

tcp        0      0 localhost:mysql         *:*                LISTEN      2556/mysqld

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

sudo service mysql restart

Вы можете отредактировать файл /etc/mysql/my.cnf для настройки основных параметров — файл журнала, номер порта и пр. Например, чтобы настроить MySQL на ожидание подключений от компьютеров в сети, измените параметр bind-address на IP адрес сервера:

bind-address            = 192.168.0.5

Замените 192.168.0.5 на реальное значение адреса вашего сервера.

После изменений в /etc/mysql/my.cnf сервис MySQL нужно перезагрузить:

sudo service mysql restart

Если вам потребовалось сменить пароль пользователя root в MySQL, введите в терминале:

sudo dpkg-reconfigure mysql-server-5.5

Сервис MySQL будет остановлен и вас попросят ввести новый пароль.

Хотя конфигурация по умолчанию для MySQL, предоставляемая пакетами Ubuntu, имеет великолепную функциональность и работает достаточно хорошо, есть некоторые вещи, которые вы можете решить до того как продолжить.

MySQL разработан так, что позволяет хранить данные по-разному. Эти варианты относятся к драйверам (управляющим модулям — engines) как баз данных, так и хранилищ. Существует два основных драйвера, которые вам могут быть интересны: InnoDB и MyISAM. Драйверы хранилищ прозрачны (незаметны) конечным пользователям. MySQL управляет событиями по-разному на нижнем уровне, но независимо от того, какая система хранения данных используется, вы будете взаимодействовать с базой одним и тем же способом.

  Контроль за работой компьютера: задействование различных сенсоров и датчиков в Ubuntu

Каждый драйвер имеет свои преимущества и недостатки.

Хотя смешивание и связывание драйверов баз данных на уровне таблиц разрешается и может быть привлекательным, это снижает эффективность настройки производительности, которую вы смогли бы провести при разделении ресурсов между двумя системами вместо замешивания их в одно целое.

  1. MyISAM более старая из двух. Она может быть быстрее InnoDB при определенных обстоятельствах и предпочтительна при рабочей нагрузке, ориентированной на чтение данных. Некоторые интернет приложения настроены на использование именно MyISAM (однако это не означает, что они будут медленнее под InnoDB). MyISAM также поддерживает тип данныхFULLTEXT, который позволяет осуществлять очень быстрый поиск по большому количеству текстовых данных. Однако MyISAM поддерживает блокировку записи только на уровне таблиц. Это означает, что только один процесс может изменять данные в таблице в один момент времени. Поскольку некоторые приложения, использующие таблицу, могут масштабироваться (работать несколькими экземплярами — scales), это может стать серьезной помехой. Здесь также отсутствует журналирование, что может усложнить восстановление данных после сбоя. Следующая ссылка предоставляет некоторые соображения по использованию MyISAM в работающей базе данных.

  2. InnoDB — более современный драйвер, созданный по принципам ACID, что гарантирует надежную обработку транзакций базы данных. Блокировка записи производится на уровне одной записи в таблице. Это означает возможность нескольких изменений в одной таблице одновременно. Кэширование данных происходит также и в оперативной памяти внутри драйвера базы данных, позволяя кэшировать более эффективно чем на уровне блоков файлов. В соответствии с ACID все транзакции журналируются независимо от основных таблиц. Это позволяет намного более надежно восстанавливать данные при проверке целостности данных.

Начиная MySQL 5.5 InnoDB является драйвером по умолчанию и настоятельно рекомендуется вместо MyISAM, если только у вас нет специфических потребностей, уникальных для этого драйвера.

Существует ряд параметров, которые могут быть указаны в файле настроек MySQL, что со временем позволит вам повысить производительность вашего сервера. Для начальной настройки вам может пригодиться Percona’s my.cnf generating tool. Этот инструмент позволит вам создать файл my.cnf более оптимизированный под специфические возможности вашего сервера и ваши требования.

  Увеличение скорости работы браузера в Ubuntu

Не меняйте ваш существующий файл my.cnf на созданный утилитой, если у вас уже загружены данные в вашу базу данных. Некоторые изменения в этом файле могут быть несовместимы, если вы поменяли то, как хранятся данные на диске, после чего вы не сможете запустить MySQL. Если вы все же решили это сделать и у вас есть данные в базе, вам потребуется выполнить mysqldump и загрузить данные повторно:

mysqldump --all-databases --all-routines -u root -p > ~/fulldump.sql

Эта операция запросит пароль пользователя root перед созданием копии данных. Желательно убедиться, что другие пользователи и процессы не используют базу во время этой операции. В зависимости от количества данных в вашей базе, это может занять длительное время. Вы не увидите ничего на экране во время этого процесса.

Как только файл выгрузки создан, остановите MySQL:

sudo service mysql stop

Теперь сохраните оригинальный файл my.cnf и замените его на новый:

sudo cp /etc/my.cnf /etc/my.cnf.backup sudo cp /path/to/new/my.cnf /etc/my.cnf

Затем удалите и создайте заново пространство базы данных, а также убедитесь в корректности его владельца перед запуском MySQL:

sudo rm -rf /var/lib/mysql/* sudo mysql_install_db sudo chown -R mysql: /var/lib/mysql sudo service start mysql

Теперь все, что осталось — это импортировать ваши данные. Чтобы дать нам представление как идет процесс импорта, полезно использовать утилиту ‘Pipe Viewer’ (pv). Далее показано как установить и использовать pv для этого случая, но если вы не хотите ее использовать, просто замените pv на cat в соответствующей команде. Не обращайте внимание на время ETA (расчетное время окончания), генерируемое pv, поскольку оно основывается на среднем времени обработки каждой записи при сохранении в файл, однако скорость может сильно меняться от записи к записи при использовании mysqldumps:

sudo apt-get install pv pv ~/fulldump.sql | mysql

Когда все завершится, это будет означать что все получилось!

Эта операция не обязательна для всех изменений my.cnf. Многие значения, которые вы захотите поменять для улучшения производительности сработают даже на работающем сервере. Но как всегда не забудьте сделать надежную копию файлов настроек и данных перед внесением изменений.  Почтовый сервер для Ubuntu установка и настройка

MySQL Tuner — это полезный инструмент, который подсоединяется к работающему MySQL и предлагает варианты как можно улучшить настройки для вашей рабочей нагрузки. Чем дольше работает сервер, тем лучше рекомендации предоставит mysqltuner. Для рабочего окружения подождите как минимум 24 часа прежде чем запускать утилиту. Вы можете установить mysqltuner из хранилища Ubuntu:

sudo apt-get install mysqltuner

После установки запустите ее:

mysqltuner

и ждите ее финального отчета. Верхняя секция предоставляет общую информацию а сервере баз данных, а нижняя часть содержит рекомендации по настройке, необходимые для изменения вашего my.cnf. Многие из них могут быть поправлены вживую на сервере без перезагрузки. Смотрите официальную документацию MySQL (указанную в разделе Ссылки) для перечня параметров, изменяемых «налету». Далее часть примерного отчета по работающей базе, который показывает, что можно извлечь некоторую пользу от увеличения размера кэша запросов:

-------- Recommendations ----------------------------------------------------- General recommendations:     Run OPTIMIZE TABLE to defragment tables for better performance     Increase table_cache gradually to avoid file descriptor limits Variables to adjust:     key_buffer_size (> 1.4G)     query_cache_size (> 32M)     table_cache (> 64)     innodb_buffer_pool_size (>= 22G)

Один финальный комментарий по настройке базы данных: Хотя мы можем утверждать что определенные настройки самые лучшие, производительность может изменяться от приложения к приложению. Например, что работает великолепно для WordPress, может оказаться не лучшим для Drupal, Joomla или проприетарных приложений. Производительность зависит от типов запросов, использования индексов, насколько эффективно спроектирована база данных и т.д. Вы можете посчитать полезным потратить некоторое время на поиск настроек базы данных под используемые вами приложения. Как только вы пройдете определенную точку, любые ваши изменения будут приводить к минимальным улучшениям и вам будет лучше либо заняться улучшением ваших приложений, либо масштабировать вашу базу данных, используя более производительное оборудование или добавляя зависимые сервера.

Материал взят с help.ubuntu.ru

В этой статье я опишу о первоначальной настройке БД MySQL на Ununtu Server после установке данного пакета. Настройка MySQL будет осуществляться специализированным скриптом входящим в состав самого пакета. Но для начала необходимо установить пароль для root пользователя MySQL, если конечно же Вы этого ещё не сделали.

Задать пароль для root в БД MySQL

В случае если не был запрошен пароль при установке MySQL  необходимо выполнить следующую команду:

/usr/bin/mysqladmin -u root password 'passwd'

где passwd — пароль для пользователя root.

Первоначальная настройка MySQL

Выполните из командной строки:

sudo /usr/bin/mysql_secure_installation

После запуска данного скрипта Вы увидите следующие сообщения:

ПРИМЕЧАНИЕ. ЗАПУСК ВСЕХ ЧАСТЕЙ ЭТОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MySQL  СЕРВЕРЫ В ПРОИЗВОДСТВЕ! ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ ВНИМАТЕЛЬНО!  Чтобы войти в MySQL для его защиты, нам понадобится текущий<  Пароль для пользователя root. Если вы только что установили MySQL и  Вы еще не установили пароль root, пароль будет пустым,  поэтому вам нужно просто нажать здесь.  Введите текущий пароль для root (введите для none):
Установка пароля root гарантирует, что никто не сможет войти в MySQL  Пользователя root без надлежащего разрешения.  У вас уже установлен пароль root, поэтому вы можите спокойно ответить «n».  Изменить пароль root? [Y / N]
По умолчанию установка MySQL имеет анонимного пользователя, позволяя кому-либо  входить в MySQL без необходимости создания учетной записи пользователя Это предназначено только для тестирования и для установки Вы должны удалить его, прежде чем работать дальше.  Удалить анонимных пользователей? [Y / N]
Как правило, только root должен подключаться к «localhost». Эта Гарантирует, что кто-то не может угадать пароль root из сети.  Запретить вход в систему удаленно? [Y / N]
По умолчанию MySQL поставляется с базой данных с именем «test», которая доступна каждому. Это также предназначено только для тестирования и должно быть удалено.  Удалить тестовую базу данных и доступ к ней?[Y / N]
Перезагрузка таблиц привилегий гарантирует, что все сделанные изменения вступят в силу немедленно.  Обновить таблицы привилегий сейчас? [Y / N]
Все сделано! Если вы выполнили все вышеуказанные шаги, ваша MySQL установка теперь должна быть безопасной.  Спасибо, что используете MySQL!

Если Вы не можите зайти в phpmyadmin под пользователем root, то решение тут

Если есть вопросы, то пишем в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Введение

MySQL — одна из самых распространённых и популярных СУБД с открытым исходным кодом. Установка на новую версию Ubuntu у опытных пользователей не вызывает сложностей, однако новичкам может потребоваться подробная инструкция по настройке.

Технические требования

  • Пользователь с sudo-правами
  • Ubuntu 16.04 

Шаг 1. Создание нового пользователя

Создание нового пользователя подробно описано в руководстве Начальная настройка сервера под управлением ОС Ubuntu.

Системой предусмотрено, что новый аккаунт добавляется в одноименную группу пользователей, поэтому дополнительно необходимо присвоить права администратора. Выполняется это командой:

usermod -aG sudo newuser

Закрепляющий флаг -aG добавляет пользователя в выбранную группу и закрепляет за ним права суперпользователя.

Команды прописываются без символа $, поскольку выполняются от имени root-пользователя. Для дальнейшей установки базы данных потребуется проставлять этот символ – он является указателем для системы, что действия поступают от аккаунта, наделенного правами администратора, но не являющегося им.

Шаг 2. Обновление индекса пакетов

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

Если система Ubuntu 16.04 установлена недавно, данный шаг не требуется. В процессе обновления операционной системы до новой версии всегда происходит переустановка индекса пакетов, что позволяет пользователям работать в обновленной системе. И без очевидных сбоев.

Для обновления необходимо ввести команду:

$ sudo apt-get update

Установка из сети интернет может занять некоторое время. После того как система скачает все пакеты обновлений, вы можете приступать к их установке, прописав команду:

sudo apt-get upgrade

Просмотрев все пакеты, доступные для установки, вам нужно подтвердить обновление, нажав Y (yes – да) и клавишу Enter. Процедура займет некоторое время, но в результате неактуальные сведения будут удалены, а свежие версии займут их место на дисковом пространстве сервера.

Шаг 3. Установка MySQL

Установка базы данных на Ubuntu производится быстрее всего менеджером установки приложений apt (Advanced Packaging Tool – программа для установки). И главное преимущество менеджера в том, что он не требует отдельной инсталляция, поскольку входит в состав стандартного пакета программ. Apt позволяет без лишних команд установить то или иное приложение на сервер, к которому смогут в дальнейшем обращаться все пользователи определенной сетевой группы, которой вы дадите доступ.

База данных MySQL устанавливается с помощью менеджера быстрее и проще всего. Поэтому требуется последовательно прописать лишь несколько команд:

  1. $ sudo apt-get install mysql-server
  2. $ sudo mysql_secure_installation

После первой команды система попросит вас создать надежный пароль суперпользователя, который одновременно с этим будет являться и паролем от серверной (не клиентской) версии базы данных. Требования к паролю стандартные: не менее 8 символов, желательно добавить цифры и спецзнаки.

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

Все вопросы связаны с тем, какие сценарии будут подключены в программе, а какие выполняться не будут до тех пор, пока вы сами их не запустите. Некоторые сценарии необходимы в работе, некоторые можно отключить, чтобы они не мешали использованию базы данных.

Шаг 4. Настройка сценариев

VALIDATE PASSWORD PLUGIN – это настройка, которая автоматически блокирует и отклоняет те пароли, которые считает небезопасными и простыми. Этот параметр можно отключить, но это не означает, что в программе можно будет устанавливать несложные пароли. Использование базы данных третьими лицами приведет к утечке информации, поэтому все ключевые слова должны быть тщательно продуманы администратором.

Также потребуется выбрать уровень безопасности, который подразумевает два вида паролей: самые надежные и обычные. В первом случае (уровень безопасности 2) – это заглавные и прописные буквы, цифры и спецсимволы одновременно, во втором – буквенно-цифровое слово. Настройка безопасно при принятии сразу же проверяет пароль суперпользователя на надежность, при необходимости предлагает вам его заменить. Если вас пароль устраивает, то можно отказаться, нажав клавишу N.

Все остальные сценарии не вызывают в дальнейшем никаких сложностей и особенностей, поэтому вы можете согласиться с их запуском в штатном режиме клавишей Y и Enter. В результате программа самостоятельно удалит ненадежные тестовые или анонимные аккаунты из доступа к базе, а так же обновит все настройки, чтобы они вступили в силу.

Шаг 5. Заведение пользовательских аккаунтов в базе и самой базы

Для входа в базу mysql нужно ввести команду:

mysql -u root -p

Далее необходимо создать базу данных, а так же завести в ней пользователей-клиентов, которые к ней будут обращаться. Выполняется это простыми командами:

  1. CREATE DATABASE name;
  2. GRANT ALL ON name.* TO 'XXX' IDENTIFIED BY 'YYY';
  3. QUIT;

name — имя вашей базы данных (латиницей), ХХХ – имя пользователя, УУУ – пароль пользователя.

Для того чтобы вы могли войти в базу под конкретным пользователем, нужно ввести команду:

$ mysql -u XXX -p name

где name – это имя базы данных, а ххх – имя пользователя.

После этого можно пользоваться MySQL с любого компьютера, который находится в той же локальной сети (входит в группу, которым доступна программа), что и компьютер с серверной базой данных.

Заключение

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

tglnkMySQL

Используемые источники:

  • https://neoblogs.net/2013/04/17/ustanovka-i-nastrojka-mysql-servera-na-ubuntu/
  • https://obu4alka.ru/pervonachalnaya-nastrojka-bd-mysql-na-ubuntu-server.html
  • https://community.vscale.io/hc/ru/community/posts/209370225-установка-и-первичная-настройка-mysql-на-ubuntu-16-04

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации