Руководство по установке MySQL в Ubuntu

Содержание

Установка и настройка MySQL сервера на Ubuntu

Руководство по установке MySQL в Ubuntu

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 управляет событиями по-разному на нижнем уровне, но независимо от того, какая система хранения данных используется, вы будете взаимодействовать с базой одним и тем же способом.

  Как сделать свой сайт быстрее?

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

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

  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 более оптимизированный под специфические возможности вашего сервера и ваши требования.

  Как настроить PhpMyAdmin на NGINX и PHP 7

Не меняйте ваш существующий файл 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.backupsudo cp /path/to/new/my.cnf /etc/my.cnf

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

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

Теперь все, что осталось — это импортировать ваши данные. Чтобы дать нам представление как идет процесс импорта, полезно использовать утилиту ‘Pipe Viewer’ (pv).

Далее показано как установить и использовать pv для этого случая, но если вы не хотите ее использовать, просто замените pv на cat в соответствующей команде.

Не обращайте внимание на время ETA (расчетное время окончания), генерируемое pv, поскольку оно основывается на среднем времени обработки каждой записи при сохранении в файл, однако скорость может сильно меняться от записи к записи при использовании mysqldumps:
sudo apt-get install pvpv ~/fulldump.sql | mysql

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

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

  Wp Super Cache nginx config ssl / https

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

Чем дольше работает сервер, тем лучше рекомендации предоставит mysqltuner. Для рабочего окружения подождите как минимум 24 часа прежде чем запускать утилиту.

Вы можете установить mysqltuner из хранилища Ubuntu:

sudo apt-get install mysqltuner

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

mysqltuner

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

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

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

Источник: //neoblogs.net/2013/04/17/ustanovka-i-nastrojka-mysql-servera-na-ubuntu/

Как установить MySQL в Ubuntu 18.04

Руководство по установке MySQL в Ubuntu

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

Вы увидите вывод, похожий на этот:

Вывод

Источник: //www.digitalocean.com/community/tutorials/mysql-ubuntu-18-04-ru

Установка mysql Ubuntu 16.04

Руководство по установке MySQL в Ubuntu

MySQL – это одна из самых популярных систем управления базами данных, которая применяется почти везде, начиная от различных предприятий и промышленности и заканчивая организацией работы веб-сайтов.

Сейчас существует несколько версий MySQL. Непосредственно mysql, разрабатываемая компанией Oracle и свободный форк от основного разработчика mysql – MariaDB. Имя MairaDB программа получила в честь первой дочери программиста, также как и MySQL в честь имени второй.

В большинстве дистрибутивов Linux используется MariaDB, в том числе и в Ubuntu. Мы будем рассматривать установку именно этой версии, но для совместимости она называется все еще MySQL. В этой статье мы рассмотрим как выполняется установка MySQL Ubuntu 16.04 или 16.10.

Установка MySQL в Ubuntu 16.04

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

sudo apt update

Затем установим необходимые пакеты:

sudo apt install mariadb-server mariadb-client

На данный момент в репозиториях Ubuntu 16.10 есть только версия MariaDB 10.0, но уже доступна стабильная версия MariaDB 10.1. Для ее установки нужно использовать официальный репозиторий разработчиков. Для добавления репозитория в Ubuntu 16.10 выполните:

sudo apt-get install software-properties-common$ sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
$ sudo add-apt-repository 'deb [arch=amd64,i386] //mirror.klaus-uwe.me/mariadb/repo/10.1/ubuntu yakkety main'

А в Ubuntu 16.04:

sudo apt-get install software-properties-common$ sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
$ sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] //mirror.klaus-uwe.me/mariadb/repo/10.1/ubuntu xenial main'

Затем, чтобы установить mysql Ubuntu 16.04 или 16.04 достаточно выполнить уже знакомую команду:

sudo apt update
$ sudo apt install mariadb-server mariadb-client

Во время установки нужно будет два раза ввести пароль для root пользователя базы данных:

После того как установка будет завершена, вы можете проверить все ли прошло успешно:

sudo systemctl status mysql

Вы должны увидеть зеленую надпись Active Running и версию программы, которую устанавливали.

Настройка mysql в Ubuntu

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

mysql_secure_installation

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

Дальше наберите Y чтобы установить пароль root:

Введите два раза новый пароль:

Введите Y для отключения анонимного доступа к mysql:

Еще раз Y чтобы запретить подключаться к базе от имени root удаленно:

Снова Y, чтобы удалить тестовую базу данных:

Последний шаг – это обновление привилегий для пользователей:

После завершения настройки вы можете подключиться с помощью пароля root к серверу баз данных из командной строки:

sudo mysql -u root -p

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

mysql> CREATE DATABASE testDB;

Далее создадим пользователя:

mysql> CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'password';

Слова my_user и password нужно заменить на свои имя пользователя и пароль. Дальше нужно дать права пользователю на управление этой базой данных:

mysql> GRANT ALL 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,password FROM mysql.user;

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

mysql> SHOW GRANTS FOR 'my_user'@'localhost';

Теперь установка mysql ubuntu 16.04 полностью завершена и вы можете использовать эту базу данных для решения своих задач.

Удаление MySQL в Ubuntu

Чтобы удалить mysql Ubuntu 16.04 понадобиться немного больше команд чем для удаления простого пакета. После удаления основных пакетов в системе остается еще много файлов. Мы рассмотрим как удалить все.

Сначала остановите сервисы:

sudo service mysql stop
$ sudo killall -KILL mysql mysqld_safe mysqld

Удалите основные пакеты и их зависимости:

sudo apt -y purge mysql-server mysql-client$ sudo apt -y autoremove –purge

$ sudo apt autoclean

Удалите пользователя mysql и остатки программы в системе:

deluser –remove-home mysql$ sudo delgroup mysql$ rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld

$ updatedb

Удалите все логи подключений к mysql из терминала:

sudo find / -name .mysql_history -delete

Теперь ваша система полностью очищена от MySQL.

Выводы

В этой статье мы рассмотрели как выполняется установка mysql ubuntu 16.04 или 16.10. Как видите, это не очень трудно, хотя и требует некоторых знаний и немного времени на то, чтобы со всем разобраться. Надеюсь, эта информация была для вас полезной.

Источник: //losst.ru/ustanovka-mysql-ubuntu-16-04

Правильная установка и настройка MySQL в Linux

Руководство по установке MySQL в Ubuntu
March 11, 2013
Posted by: gaHcep
Category: MySQL

Эта статья, по замыслу, должна служить пошаговым руководством по корректной настройки MySQL сервера в Linux в общем и в CentOS в частности, начиная от подготовки системы и заканчивая настройкой прав пользователей.
В этот раз текста будет минимум – только команды.

Погнали.

Установка MySQL

Обновляем систему

sudo yum update

Проверяем, установлен ли MySQL сервер

mysql

Если установлен, шаги по установке можете пропустить, хотя ознакомиться я все же советую с ними.

Существуют следующие основные пакеты связанные с mysql:

  • mysql – клиент mysql
  • mysql-server – сервер mysql
  • mysql-devel – для разработки и подключения библиотек и хидеров mysql
  • mysql-connector-java – JDBC коннектор (используется, например, в EJBCA)

Ставим:

sudo yum install mysql mysql-server mysql-devel mysql-connector-java

Теперь надо установить сервер mysql на запуск в определенные runlevel‘ы (2, 3 и 5):

chkconfig –level 235 mysqld on

Если кто забыл соответствие цифрового значения runlevel‘а символьному:

cat /etc/inittab

поможет вспомнить.

Стартуем демон mysql:

sudo service mysqld start

Получаем:

… PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. …

Настройка сервера

Теперь пора настроить сервер. Начнем с пользователей.

Вот состояние таблицы user до начала действий с ней:

mysql -u root
> use mysql
> select host,user from user;

+———————–+——+ | host | user | +———————–+——+ | 127.0.0.1 | root | | localhost | | | localhost | root | | localhost.localdomain | | | localhost.localdomain | root | +———————–+——+

5 rows in set (0.00 sec)
> quit

Как видете, безопасность на уровне плинтуса. Хорошо хоть, что анонимного пользователя нет.

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

/usr/bin/mysql_secure_installation

Запустится скрипт, с запросами на то или иное действие. Вот ответы:

  1. Skip root password for root
    Мы еще не устанавливали пароль для root, поэтому при запуске скрипта и запросе пароля для root, просто нажмите Enter.

  2. Install new password for root: security
    А вот тут можно установить пароль для root

  3. Do remove an anonymous user
    На вопрос о том, удалить ли анонимного пользователя, отвечаем да

  4. Do not disallow remote connections
    Не запрещаем коннект к нашему северу с удаленных серверов (если, конечно, эта опция вам нужна, в другом случае, запретите ее)

  5. Do remove a test database
    Тестовая база нам не нужна – удаляйте ее

  6. Do reload the privileges
    Перегрузим привилегии для их активации

Теперь для всех root пользователей установлен пароль.

Если в ходе этой конфигурации вы не установили пароль для 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) можно установить таким образом:

SET PASSWORD FOR 'root'@'::1' = PASSWORD();

Близится финал нашего действия. Осталось две вещи:

sudo iptables -I INPUT -p tcp –dport 3306 -m state –state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I OUTPUT -p tcp –sport 3306 -m state –state ESTABLISHED -j ACCEPT

  • выставить кодировку UTF-8 по-умолчанию – файл /etc/my.cnf:[mysqld] init_connect=‘SET collation_connection = utf8_unicode_ci’ character-set-server = utf8collation-server = utf8_unicode_ci[client] default-character-set = utf8

Перегружаем сервис:

sudo service mysqld restart

На этом все.

« Previous Blog Post | Back to top | Next Blog Post »

by Disqus

Источник: //gahcep.github.io/blog/2013/03/11/linux-mysql-setup/

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

Руководство по установке MySQL в Ubuntu

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

Источник: //community.vscale.io/hc/ru/community/posts/209370225-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D1%87%D0%BD%D0%B0%D1%8F-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-MySQL-%D0%BD%D0%B0-Ubuntu-16-04

Как установить MySQL 8.0 в Ubuntu 18.04

Руководство по установке MySQL в Ubuntu

Сервер MySQL — бесплатная система с открытым исходным кодом, популярная и кросс-платформенная система управления базами данных.

Он поддерживает как SQL, так и NoSQL и имеет подключаемую архитектуру движка хранилища.

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

Он имеет множество применений в области хранения документов, облачных, высокодоступных систем, IoT (Internet of Things), hadoop, big data, хранилище данных, LAMP или LEMP для поддержки высокопроизводительных веб-сайтов и приложений и многое другое.

В этой статье мы расскажем о установке базы данных MySQL 8.0 на Ubuntu 18.04 Bionic Beaver. Прежде чем перейти к установке, давайте рассмотрим обновленную версию MSQL:

Что нового в MySQL 8.0:

  • В базе данных теперь есть словарь транзакций.
  • Поставляется с поддержкой оператора Atomic DDL.
  • Усовершенствованная система безопасности и управления учетными записями.
  • Усовершенствованная система управления ресурсами.
  • Несколько улучшений InnoDB.

  • Новый тип резервного копирования.
  • Набор символов по умолчанию изменился на utf8mb4 с latin1.
  • Несколько усовершенствований JSON.

  • Поставляется с поддержкой регулярных выражений с использованием международных компонентов для Unicode (ICU).
  • Новый журнал ошибок, который теперь использует архитектуру компонентов MySQL.
  • Улучшения в репликации MySQL.

  • Поддерживает общие выражения таблиц (как нерекурсивные, так и рекурсивные).
  • Дополнительные функции окна и многое другое.

Шаг 1: Добавить репозиторий MySQL Apt

К счастью, существует APT-репозиторий для установки сервера MySQL, клиента и других компонентов. Вам нужно добавить этот репозиторий MySQL в список источников пакетов вашей системы; начните с загрузки пакета репозитория с помощью инструмента wget из командной строки.

$ wget -c //dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

Затем установите пакет репозитория MySQL, используя следующую команду dpkg.

$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

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

Версия сервера MySQLmysql-8.0 будет выбрана автоматически, затем прокрутите вниз до последней опции «ОК» и нажмите [Ввод], чтобы завершить настройку и установку пакета, как показано на скриншоте.

Шаг 2. Установка MySQL Server в Ubuntu 18.04

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

$ sudo apt update

Затем выполните следующую команду для установки пакетов для сервера сообщества, клиента и общих файлов базы данных MySQL.

$ sudo apt-get install mysql-server

Во время установки вам будет предложено ввести пароль пользователя root для вашего сервера MySQL, повторно введите пароль, чтобы подтвердить его, и нажмите [Enter].

Затем появится сообщение конфигурации плагина аутентификации сервера MySQL, прочитайте его и используйте стрелку вправо, чтобы выбрать «ОК», и нажмите [Ввод], чтобы продолжить.

После этого вам будет предложено выбрать плагин аутентификации по умолчанию для использования, затем с помощью стрелки вправо выберите «ОК» и нажмите [Ввод], чтобы завершить настройку пакета.

Шаг 3: Безопасная установка сервера MySQL

По умолчанию установка MySQL небезопасна. Чтобы защитить его, запустите скрипт безопасности, который поставляется вместе с бинарным пакетом. Вам будет предложено ввести пароль root, который вы установили в процессе установки. Затем также выберите, использовать ли плагин VALIDATEPASSWORD или нет.

Вы также можете изменить пароль root, который вы установили ранее (как это было сделано в этом примере). Затем введите yes/y для следующих вопросов безопасности:

  • Удалить анонимных пользователей? (Нажмите y | Y для Yes, любую другую клавишу для No): y
  • Запретить вход в систему удаленно? (Нажмите y | Y для Yes, любую другую клавишу для No): y
  • Удалить тестовую базу данных и получить доступ к ней? (Нажмите y | Y для Yes, любую другую клавишу для No): y
  • Обновить таблицы привилегий сейчас? (Нажмите y | Y для Yes, любую другую клавишу для No): y

Запустите скрипт, выполнив следующую команду.

$ sudo mysql_secure_installation

Шаг 4. Управление сервером MySQL через Systemd

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

$ sudo systemctl status mysql

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

$ sudo systemctl status mysql $ sudo systemctl enable mysql

Шаг 5: Установка дополнительных продуктов и компонентов MySQL

Кроме того, вы можете установить дополнительные компоненты MySQL, которые, по вашему мнению, вам нужны для работы с сервером, таких как mysql-workbench-community, libmysqlclient18 и многие другие.

$ sudo apt-get update $ sudo apt-get install mysql-workbench-community $ sudo apt-get install libmysqlclient18 # for Ubuntu 12.04 and 14.04 $ sudo apt-get install libmysqlclient20 # for Ubuntu 16.04 and 18.04

Наконец, чтобы получить доступ к оболочке MySQL, выполните следующую команду.

$ sudo mysql -u root -p

Для получения дополнительной информации ознакомьтесь с примечаниями к выпуску MySQL 8.0.

Вот и все! В этой статье мы объяснили, как установить MySQL 8.0 в Ubuntu 18.04 Bioni Beaver.

Спасибо за уделенное время на прочтение статьи!

Источник: //blog.sedicomm.com/2018/05/25/kak-ustanovit-mysql-8-0-v-ubuntu-18-04/

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.