Установка nginx, mysql, php (lemp) для centos 7

Расширения языка SQL

Язык SQL представляет собой стандарт, унифицирующий обработку данных всеми реляционными базами данных. Такой подход упрощает перекрестные обращения, дает возможность переходить на «иную платформу» без серьезных переделок проекта. Но здесь нужно учитывать, что в каждой БД имеется собственный язык, который называется диалектом (расширением).

Варианты:

  1. Transact-SQL (T-SQL) – применяется в MS SQL Server.
  2. PL/SQL (Procedural Language/Structured Query Language) – аналог от Oracle.
  3. PL/pgSQL (Procedural Language/PostGres Structured Query Language) – язык используется в PostgreSQL.

Обычно от выбранной СУБД зависит, какой язык предстоит использовать (или от навыков человека, который будет администрировать систему). Синтаксис конструкций у них сильно различается, как и формат обращения ко встроенным функциям, поэтому чаще всего тип БД для проекта выбирается раз и навсегда.

1: Установка MySQL

Как говорилось ранее, команда yum вместо MySQL устанавливает MariaDB. Чтобы установить MySQL, посетите yum-репозиторий сообщества MySQL и найдите там необходимый пакет. Откройте в браузере:

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

Если вы не хотите создавать учётную запись, найдите «No thanks, just start my download», кликните правой кнопкой мыши и скопируйте ссылку на пакет.

Вставьте ссылку в команду:

Примечание: Номер версии может отличаться.

Сохранив rpm-файл, нужно убедиться, что он не повреждён. Для этого загрузите md5sum и сравните контрольную сумму со значением MD5, которое можно найти на сайте.

Примечание: MD5 можно найти под кнопкой Download.

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

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

Чтобы продолжить, нажмите y. После добавления пакета система предложит принять его GPG-ключ. Нажмите y, чтобы загрузить ключ и закончить установку.

Логическое проектирование и оптимизация

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

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

OLAP системы характеризуются следующими признаками:

  • Добавление в систему новых данных происходит относительно редко крупными блоками.
  • Данные, добавленные в систему, обычно никогда не удаляются.
  • Перед загрузкой данные проходят различные процедуры очистки, связанные с тем, что в одну систему могут поступать данные из многих источников, имеющих различные форматы представления для одних и тех же понятий, данные могут быть некорректны, ошибочны
  • Запросы к системе являются нерегламентированными и, как правило, достаточно сложными. Очень часто новый запрос формулируется аналитиком для уточнения результата, полученного при выполнении предыдущего запроса.
  • Скорость выполнения запросов важна, но не критична.

Установка и настройка PhpMyAdmin (PMA)

Ставить будем вручную. Для этого нам потребуется менеджер загрузок wget. Если у вас нет, то ставим: Идем на http://www.phpmyadmin.net/home_page/downloads.php и копируем ссылку на самую последнюю мультиязычную версию PhpMyAdmin со сжатием .tar.gz (На данный момент это — http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.5.6/phpMyAdmin-3.5.6-all-languages.tar.gz/download#!md5!aa6c996d264f4c04c00cbb2e97f3972a). Идем в /var/www/html/: Скачиваем PMA: В директории появится архив , распаковываем его: Переименуем директорию phpMyAdmin-3.5.6-all-languages в phpmyadmin: Удалим архив phpMyAdmin-3.5.6-all-languages.tar.gz т.к. он нам больше не нужен:

По идее у нас уже полностью рабочий PhpMyAdmin должен быть доступен по адресу — https://IP-адрес_сервера/phpmyadmin/

На этом можно завершить базовую настройку VPS/VDS сервера под управлением CentOS

Установите MariaDB 5.5 на CentOS 7

Версия сервера MariaDB, представленная в репозиториях CentOS по умолчанию, — 5.5. Это не последняя версия, но она достаточно стабильна.

Выполните следующие действия, чтобы установить и защитить MariaDB 5.5 на CentOS 7:

  1. Установите пакет MariaDB с помощью диспетчера пакетов yum:

    Нажмите когда будет предложено продолжить установку.

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

  3. Чтобы убедиться, что установка прошла успешно, проверьте статус службы MariaDB, набрав:

    Вывод должен показать, что служба активна и работает:

  4. Запустите сценарий который выполнит несколько задач, связанных с безопасностью:

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

    Шаги описаны подробно. На все вопросы рекомендуется отвечать (да).

Первичные ключи

Строки в реляционной базе данных неупорядоченные. Для выбора в таблице конкретной строки создается один или несколько столбцов, значения которых во всех строках уникальны. Такой столбец называется первичным ключом.Первичный ключ (primary key) – является уникальным значением в столбце. Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа.
По способу задания первичных ключей различают логические (естественные) ключи и суррогатные (искусственные).Логический ключ – представляет собой значение, определяющее запись естественным образом.Суррогатный ключ – представляет собой дополнительное поле в базе данных, предназначенное для обеспечения записей первичным ключом.

Индексы

Индексы – основной способ ускорения работы баз данных. Чтобы найти нужную запись, необходимо сканировать всю таблицу, на что уходит большое количество времени.
Идея индексов состоит в том, чтобы создать для столбца копию, которая постоянно будет поддерживаться в отсортированном состоянии. Это позволяет очень быстро осуществлять поиск по такому столбцу, так, как заранее известно, где необходимо искать значение.
Добавление или удаление записи требует дополнительного времени на сортировку столбца, кроме того, создание копии увеличивает объем памяти, необходимый для размещения таблицы на жестком диске.

Существует несколько видов индексов:

  • Первичный ключ – главный индекс таблицы. В таблице может быть только один первичный ключ, и все значения такого индекса должны отличаться друг от друга, являться уникальными в пределах одного столбца.
  • Обычный индекс – таких индексов может быть несколько.
  • Уникальный индекс – уникальных индексов также может быть несколько, на значения индекса не должны повторяться.
  • Полнотекстовый индекс – специальный вид индекса для столбцов типа TEXT, позволяющий производить полнотекстовый поиск.

Установите MariaDB 10.3 на CentOS 7

Чтобы установить MariaDB 10.3 на CentOS 7, выполните следующие действия:

  1. Первый шаг — включить репозиторий MariaDB. Создайте файл репозитория с именем и добавьте следующий контент:
    /etc/yum.repos.d/MariaDB.repo

  2. Установите серверные и клиентские пакеты MariaDB с помощью , как и другие пакеты CentOS:

    Yum может предложить вам импортировать GPG-ключ MariaDB:

    Введите и нажмите .

  3. После завершения установки включите MariaDB для запуска при загрузке и запустите службу:

  4. Чтобы проверить установку, проверьте статус службы MariaDB, набрав:

  5. Последний шаг — запустить скрипт который будет выполнять несколько задач, связанных с безопасностью:

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

    Все шаги подробно объяснены, и на все вопросы рекомендуется ответить (да).

Обеспечение безопасности MySQL

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

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

Запишите пароль, потому что следующая команда попросит вас ввести временный пароль root.

Запустите команду чтобы повысить безопасность нашей установки MySQL:

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

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

Step – Login to MySQL

Congratulations! You have successfully installed MySQL 5.7. Let login to MySQL using root access and try to create a dummy database. Use the password you have assigned to Step #4.

mysql -h localhost -u root -p 

After login to MySQL server create a test database using following command.

PgSQL

/* CREATE NEW DATABASE */
mysql> CREATE DATABASE mydb;

/* CREATE MYSQL USER FOR DATABASE */
mysql> CREATE USER ‘db_user’@’localhost’ IDENTIFIED BY ‘password’;

/* GRANT Permission to User on Database */
mysql> GRANT ALL ON mydb.* TO ‘db_user’@’localhost’;

/* RELOAD PRIVILEGES */
mysql> FLUSH PRIVILEGES;

1
2
3
4
5
6
7
8
9
10
11
/* CREATE NEW DATABASE */
mysql>CREATEDATABASEmydb;
 
/* CREATE MYSQL USER FOR DATABASE */
mysql>CREATEUSER’db_user’@’localhost’IDENTIFIEDBY’password’;
 
/* GRANT Permission to User on Database */
mysql>GRANTALLONmydb.*TO’db_user’@’localhost’;
 
/* RELOAD PRIVILEGES */
mysql>FLUSHPRIVILEGES;

1.1, установите mysql

1.1.1 Загрузите исходный код репозитория mysql, предоставленный официальным сайтом mysql

Источник yum для centos по умолчанию не имеет mysql, поэтому нам нужно перейти на официальный веб-сайт, чтобы загрузить исходный код репозитория mysql и установить его;

Ссылка для скачивания официального сайта mysql:адрес загрузки репозитория mysql следующим образом:

1.1.2 Установить файл репо yum и обновить кеш yum;

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

1.1.2.1 Два файла репо будут созданы в каталоге /etc/yum.repos.d/

1.1.2.2 Обновить команду yum

  1. yum clean all

  2. yum makecache

  3. Справочная информацияСообщество IBM-linux

1.1.3 Установите mysql с помощью yum

Когда мы используем yum для установки mysql, yum по умолчанию устанавливает последнюю версию mysql GA из хранилища yum; как выбрать собственную версию;

Шаг 1: проверьте версию mysql на складе mysql yum, используйте следующую команду: yum repolist all | grep mysql

Вы можете видеть, что mysql8.0 включен

Шаг 2 Используйте команду yum-config-manager, чтобы изменить соответствующую версию, чтобы включить или отключить,

  1. yum-config-manager —disable mysql80-community

  2. yum-config-manager —enable mysql57-community

  3. Или вы можете отредактировать файл репозитория mysql и изменить значение enabled в соответствующей версии на 1.

1.1.4 Установите команду mysql следующим образом:

yum install mysql8.0-community-server

1.1.5 Запустить службу mysql

1.1.6 Получите начальный пароль для входа в mysql

mysql создаст учетную запись root @ locahost после установки и поместит начальный пароль в файл /var/log/mysqld.log;

Используйте начальный пароль для входа в mysql

mysql -u root -p 

Введите начальный пароль и войдите в систему

Примечание. Во многих статьях я скажу вам, что команда для изменения пароля пользователя: ALTER USER’root ‘@’ localhost ‘IDENTIFIED BY’newPass’;, а пароль неверен при использовании удаленного инструмента, почему это? причина:

1.1.6.1 Сначала войдите в mysql, выберите базу данных mysql: используйте mysql;

1.1.6.2 Введите следующий запрос запроса: выберите хост, пользователя, плагин от пользователя;, как показано ниже.

Метод проверки подлинности пароля по умолчанию — caching_sha2_password. Это mysql8.0 для обеспечения более безопасного шифрования пароля. Предпочтительный подключаемый модуль проверки подлинности по умолчанию — caching_sha2_password вместо mysql_native_password. Метод аутентификации по умолчанию для многих удаленных инструментов — mysql_native_password. Следовательно, пароль, измененный указанной выше командой, не может пройти аутентификацию mysql_native_password. Правильная команда должна быть:

ALTER USER’root ‘@’% ‘IDENTIFIED WITH mysql_native_password BY’newPass’; # Обновление пароля пользователя Пароль пользователя root — newPass

1.1.7 Забыть пароль mysql

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

1. Используйте команду: vi /etc/my.cnf

2. Добавьте фрагмент кода в : skip-grant-tables

3. Перезапустите службу mysql: systemctl перезапустите mysqld.service

4. Логин пользователя без пароля: mysql -uroot -p

5. Выберите базу данных mysql: используйте mysql;

6. Обновить разрешения: сбросить права доступа;

7. Измените пароль суперпользователя: ALTER USER’root ‘@’% ‘ИДЕНТИФИКАЦИЯ mysql_native_password BY’newPass’;

    Пароль должен состоять из прописных и строчных букв + цифр + специальных символов.

8. выход;

9: введите my.cnf еще раз, чтобы удалить skip-grant-tables

10. Перезапустите службу mysql: аналогично шагу 3.

1.1.8 Общие команды Запустить mysql: systemctl start mysqld.service

Остановить mysql: systemctl stopmysqld.service

Перезапустите mysql: systemctl reloadmysqld.service

Using MySQL

The standard tool for interacting with MySQL is the client which installs with the package. The MySQL client is used through a terminal.

Root Login

  1. To log in to MySQL as the root user:

  2. When prompted, enter the root password you assigned when the mysql_secure_installation script was run.

    You’ll then be presented with a welcome header and the MySQL prompt as shown below:

  3. To generate a list of commands for the MySQL prompt, enter . You’ll then see:

Create a New MySQL User and Database

  1. In the example below, is the name of the database, is the user, and is the user’s password.

    You can shorten this process by creating the user while assigning database permissions:

  2. Then exit MySQL.

Create a Sample Table

  1. Log back in as .

  2. Create a sample table called customers. This creates a table with a customer ID field of the type INT for integer (auto-incremented for new records, used as the primary key), as well as two fields for storing the customer’s name.

  3. Then exit MySQL.

Step 2 — Starting MySQL

We’ll start the daemon with the following command:

doesn’t display the outcome of all service management commands, so to be sure we succeeded, we’ll use the following command:

If MySQL has successfully started, the output should contain and the final line should look something like:

Note: MySQL is automatically enabled to start at boot when it is installed. You can change that default behavior with

During the installation process, a temporary password is generated for the MySQL root user. Locate it in the with this command:

Make note of the password, which you will need in the next step to secure the installation and where you will be forced to change it. The default password policy requires 12 characters, with at least one uppercase letter, one lowercase letter, one number and one special character.

SQLite

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

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

Типы данных SQLite

  • NULL: пустое значение.
  • INTEGER: целочисленное значение (зависимо от объёма значение хранится в 1, 2, 3, 4, 6 или 8 байтах).
  • REAL: число с плавающей точкой, хранится в виде 8-байтного IEEE.
  • TEXT: текстовая строка, хранится в зашифрованном виде (UTF-8, UTF-16BE или UTF-16LE).
  • BLOB: бинарные данные, хранятся в том виде, в котором были введены.

Примечание: Больше о типах данных SQLite можно узнать в официальной документации.

Преимущества SQLite

  • Простое строение на основе файлов: вся база данных состоит всего из одного файла, что увеличивает её портативность.
  • Стандарты: несмотря на простоту, система SQLite основана на SQL. Некоторые функции опущены (RIGHT OUTER JOIN или FOR EACH STATEMENT), однако вместо них добавлены другие.
  • SQLite отлично подходит для разработки или тестирования. На этих этапах почти всегда необходимо простое, но масштабируемое решение.

Недостатки SQLite

  • Нет управления пользователями. Более сложные СУБД поддерживают управление пользователями (их взаимосвязями, привилегиями и т.п.). Простая СУБД SQLite такой функции не предоставляет.
  • Невозможно повысить производительность. Библиотека SQLite проста в настройке и в использовании. Однако она разработана таким образом, что не позволяет путём тонкой настройки получить дополнительную производительность. То есть сделать SQLite более производительной технически невозможно.

Когда лучше использовать SQLite

  • Простые встроенные приложения, которым нужна портативность, например, однопользовательские локальные приложения, мобильные приложения, игры.
  • Замена диска. Обычно приложения, которым необходимо читать или записывать файлы на диск, могут использовать SQLite для получения дополнительных функций.
  • Тестирование.

Когда лучше не использовать SQLite

  • Многопользовательские приложения. Если приложение построено таким образом, что большое количество клиентов одновременно использует одну БД, то в такое приложение лучше внедрить полнофункциональную реляционную СУБД (например, MySQL).
  • Приложения, записывающие большое количество данных. операция записи является одним из ограничений SQLite. Эта СУБД позволяет выполнять только одну операцию записи за один момент времени, следовательно, она ограничивает пропускную способность.

Реляционные базы данных

Реляционная модель базы данных состоит из трех частей:Структурная часть – описывает, какие объекты рассматриваются реляционной моделью. Реляционная база данных состоит из набора отношений. Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.Целостная часть – описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.Манипуляционная часть – описывает два эквивалентных способа манипулирования реляционными данными – реляционную алгебру и реляционное исчисление.

Термины реляционных баз данных.

Реляционный термин Описание
Отношение  Таблица
Заголовок отношения  Заголовок таблицы
Тело отношения Тело таблицы
Атрибут отношения Наименование столбца (поля) 
таблицы
Кортеж отношения Строка (запись) таблицы
Степень отношения Количество столбцов таблицы
Мощность (кардинальность) 
отношения
Количество строк таблицы
Домен Базовый или пользовательский тип 
данных

MEMORY (HEAP)

Тип таблиц MEMORY хранится в оперативной памяти, поэтому все запросы к такой таблице выполняются очень быстро. Недостатком является полная потеря данных в случае сбоя работы сервера, поэтому в таблице данного типа хранят только временную информацию, которую можно легко восстановить заново. 
При создании таблицы типа MEMORY она ассоциируется с одним-единственным файлом, имеющим расширение frm, в котором определяется структура таблицы.
При остановке или перезапуске сервера данный файл остается в текущей азе данных, но содержимое таблицы, которое хранится в оперативной памяти, теряется.

Ограничения MEMORY таблиц:

  • Индексы используются только в операциях сравнения совместимо с операторами = и <=>, с другими операторами, такими как > или < индексирование столбцов не имеет смысла
  • Возможно использование только неуникальных индексов.
  • Можно использовать записи фиксированной длины, поэтому в них не допустимы столбцы типов TEXT и BLOD.
  • В версиях, предшествующих MySQL 4.0.2, не поддерживается индексирование столбцов, содержащих NULL-значения.

Бинарные связи

Бинарные связи – это связи, в которые вступают ровно две сущности. Важнейшее свойство связи – кардинальное число. 

Типы бинарных связей:

  • Связь типа «один-к-одному» означает, что один экземпляр первой сущности связан не более чем с одним экземпляром второй сущности и, наоборот, один экземпляр второй сущности связан не более чем с одним экземпляром первой сущности.
  • Связь типа «один-ко-многим» означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности, но при этом один экземпляр второй сущности связан не более чем с один экземпляром первой сущности.
  • Связь типа «много-ко-многим» означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Эта связь должна быть заменена двумя связями типа один-ко-многим путем создания промежуточной сущности.

Что такое база данных?

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

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

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

Так что база данных — это набор структурированных данных с выстроенными между ними «взаимоотношениями» (делением на категории, к примеру). 

Визуально она представляет собой таблицу с тысячами элементов (ссылками, файлами, отрывками текста и т.п.). Чтобы этим добром управлять, необходимо как-то обозначить таблицы и научиться ими управлять. Тут и пригодится SQL.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: