Установка Nginx, MySQL, PHP (LEMP) на CentOS 7. Настройка centos 7 mysql


Как установить MySQL на CentOS 7

Там, где есть модульность, возможно непонимание: Сокрытие информации предполагает необходимость проверки связи. (Алан.Дж.Перлис)

Просмотров: 195

MySQL использовалась в течение довольно долгое время. Это популярная система управления базами данных, которая существует с 1995 года Следующая статья поможет вам в установке MySQL стандартного выпуска CentOS 7.

На CentOS 7, официальный сервер Oracle MySQL не доступен по умолчанию через менеджер пакетов. Это потому, что Redhat решила пойти с MariaDB в качестве официального MySQL для CentOS 7. Если вы предпочитаете использовать MariaDB, вы можете найти здесь процедуру. Если вы предпочитаете продолжить официальные пакеты Oracle, пожалуйста, продолжайте чтение.

Начало

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

Установите MySQL

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

yum install wget wget https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm yum localinstall mysql57-community-release-el7-7.noarch.rpm

yum install wget

wget https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

yum localinstall mysql57-community-release-el7-7.noarch.rpm

 

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

yum install mysql-community-server

yum install mysql-community-server

 

После этого вы должны запустить службу:

 

И включить службу в автозагрузку:

 

Эта версия Oracle MySQL устанавливает корневой пароль по умолчанию. Нам нужно извлечь его из журналов MySQL.

cat /var/log/mysqld.log 2017-01-10T18:12:07.496135Z 1[Note] A temporary password is generated andreyex@localhost: *password*

cat /var/log/mysqld.log

2017-01-10T18:12:07.496135Z 1[Note] A temporary password is generated andreyex@localhost: *password*

 

С этими словами пароль найден, теперь мы можем войти в систему. Во-первых, давайте запустим скрипт mysql_secure_installation.

mysql_secure_installation

mysql_secure_installation

 

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

 

Вывод

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

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

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

Установка MySQL в CentOS 7

Установка MySQL в CentOS 7

Опубликовал admin

сентября 14, 2018

Сегодня мы рассмотрим установку MySQL в CentOS 7. Если вы попытаетесь выполнить команду yum install mysql в CentOS 7, то вместо MySQL произойдет установка системы MariaDB. Для установки MySQL в CentOS 7 потребуется выполнить немного другой порядок действий, по сравнению с установкой в CentOS 6.

Установка MySQL

Первое, что нам надо сделать, это посетить yum-репозиторий сообщества MySQL. Сделать подобное можно по ссылке

https://dev.mysql.com/downloads/repo/yum/

Найдите ссылки на скачивание

Из ссылки нам надо mysql80-community-release-el7-1.noarch.rpm что бы сформировать команду на скачивание

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

Теперь давайте установим пакет

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

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

yum install mysql-server

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

Запуск MySQL

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

systemctl start mysqld

Проверим статус демона

systemctl status mysqld

Если вы увидите «Active: active (running)», то значит все работает как надо. MySQL автоматически добавляется а автозагрузку и если вы хотите его убрать, то выполните команду

systemctl disable mysqld

В процессе установки MySQL генерирует временный пароль для root-пользователя. Что бы найти его в файле mysqld.log выполните команду:

grep 'temporary password' /var/log/mysqld.log

Запомните пароль, он пригодится нам дальше.

Настройка MySQL

Выполним команду

mysql_secure_installation

И вот от нас запросят root-пароль, который вы получили на этапе установки. Введите старый пароль и замените его на новый. После этого ответьте на ряд вопросов и установка будет завершена.

Если у вас возникнут какие-либо вопросы при установки MySQL на CentOS 7, то задавайте их в комментариях ниже. Всем легкой установки!

Если Вам понравилась статья Установка MySQL в CentOS 7, то пожалуйста, прокомментируйте ее или подпишитесь на фид и получайте будущие публикации по RSS. Поделитесь ссылкой на статью с друзьями при помощи социальных кнопок ниже.

zaan.ru

Установка MySQL на CentOS - Записная книжка сисадмина

Задачка очень простая: как поставить MySQL на CentOS.

Пошаговая инструкция для CentOS 6.5

Установка:

yum -y install mysql-server

Редактируем конфиг

mcedit /etc/my.cnf

1 2 3 4 5 6 7 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # добавим это: bind-address=127.0.0.1 character-set-server=utf8

Запускаем БД

/etc/init.d/mysqld start 

1 2 3 4 5 6 7 8 9 10 11 12 Initializing MySQL database:  WARNING: The host 'wikiadmin.net' could not be looked up with resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges ! Installing MySQL system tables... OK Filling help tables... OK ... Starting mysqld:                      [  OK  ]

Ставим в автозагрузку:

chkconfig mysqld on 

Теперь добавим немного безопасности. Шучу, просто удалим лишнее:

mysql_secure_installation 

Увидим это:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current ... Enter current password for root (enter for none): #вводим пароль, если задали. Если нет - просто Enter OK, successfully used password, moving on... Set root password? [Y/n] y # жмём Y и задаём пароль для root базы данных New password: # вводим новый пасс Re-enter new password: #повторим ввод ... Success! #атож! Remove anonymous users? [Y/n] y #да, удаляем анонимуса  ... Success! Disallow root login remotely? [Y/n] y #да, запрещаем root конектится с других хостов  ... Success! Remove test database and access to it? [Y/n] y #да, удаляем тестовую базу  - Dropping test database...  ... Success!  - Removing privileges on test database...  ... Success! Reload privilege tables now? [Y/n] y #да, перегрузить привелегии  ... Success! All done!  If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!

Пробуем подключится

mysql -u root -p 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 1 Server version: 2.1.1 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement mysql> show databases; #смотрим какие есть у нас базы. Test быть не должно +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | +--------------------+ 2 rows in set (0.00 sec) mysql> exit #выходим Bye

Пошаговая инструкция для CentOS 7

Устанавливаем

yum -y install mariadb-server

Добавим данные про UTF-8

mcedit /etc/my.cnf.d/server.cnf

в секцию

1 2 3 [mysqld] ... character-set-server=utf8 # 13 строчка

Запускаем сервис

systemctl start mariadb 

Добавляем в автозагрузку

systemctl enable mariadb 

Увидим это:

ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

Далее рекомендую так же как и примером выше, пройти команду

mysql_secure_installation

См. так же:

 MySQL  MySQL Бэкап и восстановление баз данных

wikiadmin.net

Как установить и настроить сервер кластер MySQL на CentOS 7

Вера вопрошает, разум обнаруживает (Августин).

Просмотров: 1779

Заглавие

  1. Предпосылки
  2. Шаг 1 – Настройка узла управления
    1. A. Загрузка программного обеспечение кластера MySQL
    2. B. Установка и удаление пакетов
    3. C. Установка кластера MySQL
    4. D. Настройка кластера MySQL
    5. E. Старт узла управления
  3. Шаг 2 – Настройка в MySQL Cluster Data Nodes
    1. A. Войти как root пользователь и загрузить программное обеспечение кластера MySQL
    2. B. Установка и удаление пакетов
    3. C. Установить кластер MySQL
    4. D. Настройка узла данных
    5. E. Повторить шаг 2.А – 2.D на db3 сервере.
  4. Шаг 3 – Настройка SQL Node
    1. A. Вход в систему и загрузка кластера MySQL
    2. B. Установка и удаление пакетов
    3. C. Установка кластера MySQL
    4. D. Настройка SQL Node
    5. E. Повторить шаг 3.A – 3.D на DB5 сервере.
  5. Шаг 4 – Монитор кластера
  6. Шаг 5 – Тестирование кластера
  7. Вывод
MySQL Cluster предназначен для обеспечения совместимой базы данных MySQL с высокой доступностью и низкой задержкой. Технология кластера MySQL реализуется через механизмы хранения NDB (Network DataBase) и NDB кластер и обеспечивает неразделяемую кластеризацию и авто-шардинга для систем баз данных MySQL. В неразделяемой архитектуре, каждый из узлов имеет свою собственную память и диск, использование общего хранилища, такие как NFS, SANs не рекомендуется и поддерживается.

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

1. Узел управления – NDB_MGMD/MGMСервер управления кластера используется для управления другого узла кластера. Мы можем создавать и настраивать новые узлы, перезагрузки, удаление или резервирование узлов в кластере из узла управления.

2. Узлы данных – NDBD / NDBЭто слой, где происходит процесс синхронизации и репликации данных между узлами.

3. SQL Узлы – MYSQLD / APIСерверы интерфейса, которые используются приложениями для подключения к кластеру базы данных.

На этом уроке, я проведу вас через установку и конфигурацию кластера MySQL с CentOS 7. Мы настроим узел управления, два узла передачи данных и два узла SQL.

Предпосылки

  • ОС CentOS 7 – 64-битная.
  • 5 CentOS серверов или виртуальных машин. Я буду использовать имена хостов и IP-адреса, как показано ниже:
    • Узел управленияDB1 = 192.168.1.220
    • Данные узлыdb2 = 192.168.1.221db3 = 192.168.1.222
    • SQL узлыdb4 = 192.168.1.223DB5 = 192.168.1.224

Шаг 1 – Настройка узла управления

Первый шаг заключается в создании “Узел управления” с CentOS 7 DB1 и IP 192.168.1.220 . Убедитесь , что вы вошли в сервер db1 в качестве пользователя root.

A. Загрузите программное обеспечение кластера MySQL

Я буду загружать его с сайта MySQL с помощью wget. Я использую здесь “Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-разрядная версия), RPM Bundle”, который совместим с CentOS 7. Затем извлекаем архивный файл.

cd ~ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

cd ~

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

 

B. Установка и удаление пакетов

Перед тем как установить пакет MySQL Cluster, вам нужно установить Perl-Data-Dumper, который требуется серверу MySQL-кластера. И вам нужно удалить MariaDB-LIBS  прежде чем мы сможем установить MySQL Cluster.

yum -y install perl-Data-Dumper yum -y remove mariadb-libs

yum -y install perl-Data-Dumper

yum -y remove mariadb-libs

 

C. Установить MySQL Cluster

Установить пакет MySQL Cluster с командой rpm :

cd ~ rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

cd ~

rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm

rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm

rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

 

Убедитесь, что нет никакой ошибки.

D. Настройка MySQL Cluster

Создайте новый каталог для файлов конфигурации. Я буду использовать каталог “/var/lib/mysql-cluster“.

mkdir -p /var/lib/mysql-cluster

mkdir -p /var/lib/mysql-cluster

 

Затем создайте новый файл конфигурации для управления кластерами под названием “config.ini ” в каталоге MySQL-кластера.

cd /var/lib/mysql-cluster vi config.ini

cd /var/lib/mysql-cluster

vi config.ini

 

Вставьте следующую конфигурацию:

[ndb_mgmd default] # Directory for MGM node log files DataDir=/var/lib/mysql-cluster [ndb_mgmd] #Management Node db1 HostName=192.168.1.220 [ndbd default] NoOfReplicas=2 # Number of replicas DataMemory=256M # Memory allocate for data storage IndexMemory=128M # Memory allocate for index storage #Directory for Data Node DataDir=/var/lib/mysql-cluster [ndbd] #Data Node db2 HostName=192.168.1.221 [ndbd] #Data Node db3 HostName=192.168.1.222 [mysqld] #SQL Node db4 HostName=192.168.1.223 [mysqld] #SQL Node db5 HostName=192.168.1.224

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

[ndb_mgmd default]

# Directory for MGM node log files

DataDir=/var/lib/mysql-cluster

[ndb_mgmd]

#Management Node db1

HostName=192.168.1.220

[ndbd default]

NoOfReplicas=2      # Number of replicas

DataMemory=256M     # Memory allocate for data storage

IndexMemory=128M    # Memory allocate for index storage

#Directory for Data Node

DataDir=/var/lib/mysql-cluster

[ndbd]

#Data Node db2

HostName=192.168.1.221

[ndbd]

#Data Node db3

HostName=192.168.1.222

[mysqld]

#SQL Node db4

HostName=192.168.1.223

[mysqld]

#SQL Node db5

HostName=192.168.1.224

 

Сохраните файл и выйдите.

E. Запустите узел управления

Далее запустите узел управления с командой ниже:

ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini

ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini

 

Результат должен быть похож на этот:

MySQL Cluster Management Server mysql-5.6.28 ndb-7.4.102016-10-08 18:26:05 [MgmtSrvr] INFO     — The default config directory ‘/usr/mysql-cluster’ does not exist. Trying to create it…2016-10-08 18:26:05 [MgmtSrvr] INFO     — Successfully created config directory

Узел управления запускается, теперь вы можете использовать команду “ndb_mgm” для мониторинга узла:

 

Вы можете увидеть, что узел управления был запущен с: MySQL-6.6 и ndb-7.4.

Шаг 2 – Настройка в MySQL Cluster Data Nodes

Мы будем использовать 2 сервера CentOS для узлов данных.

  1. db2 = 192.168.1.221
  2. db3 = 192.168.1.222

A. Войдите как пользователь root и загрузите программное обеспечение кластера MySQL

Вход на сервер DB2 с помощью SSH:

 

Затем загрузите пакет MySQL Cluster и извлеките его:

cd ~ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

cd ~

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

 

B. Установка и удаление пакетов

Установка Perl-Data-Dumper и удаление MariaDB-LIBS:

yum -y install perl-Data-Dumper yum -y remove mariadb-libs

yum -y install perl-Data-Dumper

yum -y remove mariadb-libs

 

C. Установите MySQL Cluster

Теперь мы можем установить пакеты кластера MySQL для узлов данных с помощью этих команд rpm:

cd ~ rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

cd ~

rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm

rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm

rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

 

Убедитесь, что нет никакой ошибки.

D. Настройка узла данных

Создайте новый файл конфигурации в  директории /etc с помощью редактора vi:

 

Вставьте следующую конфигурацию:

[mysqld] ndbcluster ndb-connectstring=192.168.1.220 # IP address of Management Node [mysql_cluster] ndb-connectstring=192.168.1.220 # IP address of Management Node

[mysqld]

ndbcluster

ndb-connectstring=192.168.1.220     # IP address of Management Node

[mysql_cluster]

ndb-connectstring=192.168.1.220     # IP address of Management Node

 

Сохраните файл и выйдите.

Затем создайте новый каталог для данных базы данных, которое мы определили в файле конфигурации узла управления “config.ini”.

mkdir -p /var/lib/mysql-cluster

mkdir -p /var/lib/mysql-cluster

 

Теперь запустите узел данных / NDBD:

 

Результаты:

2016-10-08 19:35:56 [ndbd] INFO     — Angel connected to ‘192.168.1.220:1186’2016-10-08 19:35:56 [ndbd] INFO     — Angel allocated nodeid: 2

Узел данных DB2 подключен к узлу управления интеллектуальной собственностью 192.168.1.220.

E. Повторить шаг 2.А – 2.D на db3 сервере.

Так как мы имеем 2 узла данных, пожалуйста, повторить шаги 2.А – 2.d на нашем втором узле данных.

Шаг 3 – Настройка SQL Node

Это шаг содержит настройки для SQL Node, который предоставляет приложению доступ к базе данных. Мы используем 2 сервера CentOS для SQL узлов:

  1. DB4 = 192.168.1.223
  2. DB5 = 192.168.1.224

A. Войдите в систему и загрузите MySQL Cluster

Войдите на сервер db4 в качестве пользователя root:

 

И загрузите пакет MySQL Cluster:

cd ~ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

cd ~

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

 

B. Установка и удаление пакетов

Установите perl-Data-Dumper и удалите mariadb-libs, чтобы не было конфликта с MySQL Cluster.

yum -y install perl-Data-Dumper yum -y remove mariadb-libs

yum -y install perl-Data-Dumper

yum -y remove mariadb-libs

 

C. Установите MySQL Cluster

Установите сервер MySQL Cluster, клиента и пакет с помощью команды rpm ниже:

cd ~ rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

cd ~

rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm

rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm

rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

 

D. Настройка SQL Node

Создайте новый файл my.cnf в каталоге /etc:

 

Скопируйте конфигурацию ниже:

[mysqld] ndbcluster ndb-connectstring=192.168.1.220 # IP address for server management node default_storage_engine=ndbcluster # Define default Storage Engine used by MySQL [mysql_cluster] ndb-connectstring=192.168.1.220 # IP address for server management node

[mysqld]

ndbcluster

ndb-connectstring=192.168.1.220       # IP address for server management node

default_storage_engine=ndbcluster     # Define default Storage Engine used by MySQL

[mysql_cluster]

ndb-connectstring=192.168.1.220       # IP address for server management node

 

Сохраните файл и выйдите из редактора.

Запустите SQL Node, запустив сервер MySQL:

 

E. Повторить шаг 3.A – 3.D на DB5 сервере.

Пожалуйста, повторите шаги 3.А – 3.D на втором сервере SQL (DB5).

Шаг 4 – Мониторинг кластера

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

 

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

 

Еще одна полезная команда:

ndb_mgm -e "all status" ndb_mgm -e "all report memory"

ndb_mgm -e "all status"

ndb_mgm -e "all report memory"

 

Шаг 5 – Тестирование кластера

Для того, чтобы выполнить тест на нашем новом MySQL Cluster, мы должны войти в db4 или db5 узлов серверов SQL.

Вход на сервер db4:

 

Измените в MySQL пароль по умолчанию, сохраненный в  файле “.mysql_secret” в корневом каталоге:

 

это мой пример:

# The random password set for the root user at Tue Mar 21 19:44:07 2016 (local time): qna4AwbJOuOnw13T

Теперь измените пароль с помощью команды ниже:

mysql_secure_installation

mysql_secure_installation

 

Введите старый пароль MySQL, а затем введите новый, нажмите клавишу ВВОД, чтобы подтвердить.

Если все будет сделано, вы можете войти в оболочку MySQL с паролем:

 

После того, как вы вошли в систему, создайте нового пользователя root для хоста ” @ “, так что мы сможем получить доступ к MySQL извне.

CREATE USER 'root'@'%' IDENTIFIED BY 'andreyex123';

CREATE USER 'root'@'%' IDENTIFIED BY 'andreyex123';

 

Заменить andreyex123 на ваш собственный надежный пароль!  Теперь вы можете увидеть нового пользователя root “@” в списке пользователей MySQL:

select user, host, password from mysql.user;

select user, host, password from mysql.user;

 

И предоставьте новому пользователю root привилегии: читать и написать доступ с удаленного узла:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*94CC7BF027327993D738E11...(Encrypted PASSWORD)' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*94CC7BF027327993D738E11...(Encrypted PASSWORD)' WITH GRANT OPTION;

 

Теперь попробуйте создать новую базу данных с сервера db4 и вы увидите базу данных на DB5 тоже.

Это просто результат выборки для тестирования репликации данных кластера.

MySQL Cluster успешно был установлен на CentOS 7 с 5 серверными узлами

Вывод

MySQL Cluster представляет собой технологию, которая обеспечивает высокую доступность и избыточность для баз данных MySQL. Он использует NDB или NDBCLUSTER в качестве механизма хранения и обеспечивает неразделяемую кластеризацию и авто-шардинг для баз данных MySQL. Для реализации кластера, нам нужно 3 компонента: Узел управления (MGM), Узлы данных (NDB) и SQL-узлы (API). Каждый из узлов должен иметь свою собственную память и диск. Не рекомендуется использовать сетевое хранилище, такие как NFS. Чтобы установить MySQL Cluster на минимальной системе CentOS 7, мы должны удалить пакет MariaDB-LIBS, MariaDB-LIBS конфликтует с MySQL кластер-сервером, и вы должны установить пакет Perl-Data-Dumper, это необходимо для MySQL-кластера-сервера. Кластер MySQL легко установить и настроить на нескольких серверах CentOS.

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

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

Инструкция по установке MySQL на Centos 7.3

MySQL - система управления базами данных (СУБД). Используется для веб-разработки. Ее любят за легкость инсталляции и простоту использования.

В ОС типа Redhat и Centos ПО используется пакетный менеджер yum.

Для инсталляции и первого запуска MySQL выполним следующие действия.

1. Обновим список и версии пакетов командой yum makecache.

yum makecache

2. Отыщем нужный пакет командой yum list mariadb-server. В состав Centos включена MariaDb - бесплатная версия MySQL.

[root@centos7x64 ~]# yum list mariadb-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.sale-dedic.com * epel: fedora.cu.be * extras: mirror.sale-dedic.com * updates: centos-mirror.rbc.ru Available Packages mariadb-server.x86_64 1:5.5.56-2.el7 base [root@centos7x64 ~]#

3. Установим еe командой yum install <имя пакета>

yum install mariadb-server

4. Проверить статус службы командой systemctl и при необходимости запустим ее.

systemctl status mysql - проверка статуса mysql; systemctl start mysql - запустить mysql; systemctl stop mysql - остановить mysql; systemctl enable mysql - поместить mysql в автозагрузку.

5. Проинициализируем MySQL, для чего используем mysql_secure_installation

root@centos7x64:~# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

СУБД попросит текущий пароль пользователя root. Это не пользователь ОС, а пользователь СУБД. Нажимаем Enter - он еще не задан.

На следующем этапе система предлагает запретить доступ анонимных пользователей -запрещаем.

By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success!

Запретить root подключаться с других хостов потому, что он имеет ничем не ограниченные права на доступ в СУБД.

Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.

Если нужны тестовые базы, то оставим.

By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] n ... skipping.

Перечитаем права пользователей.

Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

Настройка завершена. Попробуем подключиться к нашей СУБД командой mysql -u root -p.

-u ключ, указывающий пользователя

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

root@centos7x64:~# mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 6 Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Мы подключились к СУБД. Можно, например, посмотреть список имеющихся БД командой show databases;.

MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec) MariaDB [(none)]>

Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже

oblako.kz

УСТАНОВКА MYSQL В CENTOS 7

Сейчас все большее распространение получает форк mysql — mariadb. Она имеет полную совместимость с mysql, так что можно смело пользоваться. Я предпочитаю использовать именно ее.

 

Устанавливаем mariadb на CentOS 7:

# yum install -y mariadb mariadb-server

Добавляем mariadb в автозапуск:

# systemctl enable mariadb.service

Запускаем mariadb:

# systemctl start mariadb

Проверяем, запустилась или нет:

# netstat -tulnp | grep mysqld tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      22276/mysqld

Обращаю внимание, что она даже в системе отображается как сервис mysqld. Теперь запускаем стандартный скрипт настройки безопасности:

# /usr/bin/mysql_secure_installation   NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!   In order to log into MariaDB to secure it, we'll need the current password for the root user.  If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

Если вы нажали Enter, то вам будет предложено задать пароль для root-пользователя. Чтобы задать пароль введите y + Enter. Задайте новый пароль и подтвердите его.

Enter current password for root (enter for none): OK, successfully used password, moving on...   Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation.   Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!

При установке по умолчанию, MariaDB подразумевает наличие анонимных пользователей, таким образом позволяя войти любому юзеру, даже не имеющему учетной записи. Это сделано для тестирования, при дальнейшем использовании эту возможность нужно удалить, y + Enter для удаления анонимных пользователей.

By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them.  This is intended only for testing, and to make the installation go a bit smoother.  You should remove them before moving into a production environment.   Remove anonymous users? [Y/n] y ... Success!

Следующий шаг предложит запретить удаленный доступ для root-пользователя. Не рекомендую разрешать удаленный доступ, еще не встречалось таких ситуаций при которых он понадобился бы. Для того чтобы запретить удаленный доступ - y + Enter.

Normally, root should only be allowed to connect from 'localhost'.  This ensures that someone cannot guess at the root password from the network.   Disallow root login remotely? [Y/n] y ... Success!

По умолчанию MariaDB устанавливается с базой данных "test" для тестирования. Рекомендуется удалить ее перед началом работы. Для того чтобы удалить базу данных - y+ Enter.

By default, MariaDB comes with a database named 'test' that anyone can access.  This is also intended only for testing, and should be removed before moving into a production environment.   Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success!

Теперь нужно перезагрузить привилегии, чтобы все изменения вступили в силу. Для перезагрузки привилегий - y + Enter.

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.   Reload privilege tables now? [Y/n] y ... Success!   Cleaning up...   All done!  If you've completed all of the above steps, your MariaDB installation should now be secure.   Thanks for using MariaDB!

 

Файл настроек mysql/mariadb лежит в /etc/my.cnf. Для обычной работы достаточно настроек по-умолчанию. Но если вы решите изменить их, не забудьте перезапустить службу баз данных.

Перезапуск mariadb/mysql в CentOS 7:

# systemctl restart mariadb

На этом все. Базовый функционал web сервера на CentOS 7 настроен.

Проверка корневого доступа к MySQL

Теперь, если вы подключаетесь к Mysql без пароля суперпользователя, вы получаете сообщение об ошибке, что доступ запрещен.

# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root -p Enter password:

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

MariaDB [(none)]> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | +--------------------+

Если вы хотите передать пароль в командной строке MySQL, укажите его прямо рядом с опцией -p, как показано ниже.

# mysql -u root -pMySecurePassword

Примечание:

Там нет пробела между -p и паролем. Это может вызвать некоторую путаницу, поскольку у нас есть пространство между -u и именем пользователя. Но, нет никакого пространства между -p и паролем.

mozgovoy.in.ua

Установка Nginx, MySQL, PHP (LEMP) на CentOS 7 | Geek Notes

Установка веб-сервера LEMP (NGINX + MySQL + PHP-FPM) на CentOS 7.

Шаг 1. Установка Nginx

Добавляем CentOS 7 Nginx репозиторий.

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

Установка Nginx.
После установки Nginx - запускаем его.

systemctl start nginx.service

Проверить, что веб-сервер запущен можно по адресу http://example.com/Мы увидим дефолтную страницу Nginx.

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

systemctl enable nginx.service

Шаг 2. Установка MySQL (MariaDB)

Теперь, после того как закончена установка веб-сервера, приступаем к установке и настройке сервера баз данных. В данном примере будет использоваться MariaDB, поскольку данный форк зарекомендовал себя с лучшей стороны.

Установка сервера и клиента MariaDB

yum install mariadb-server mariadb

Запуск сервера баз данных.

После того как сервер запущен, приступаем к базовой настройке. Запускаем скрипт настройки простой командой.

mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user. If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y

... Success!

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y

... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

После настройки добавим сервис в автозагрузку.

systemctl enable mariadb.service

Шаг 3. Установка и настройка PHP (PHP-FPM)

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

Установка PHP

yum install php php-mysql php-fpm

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

Незначительная конфигурация для повышения безопасности

Открываем конфигурационный файл PHP

Нас интересует параметр cgi.fix_pathinfo. По умолчанию он закомментирован и установлен в значение 1.Это значение небезопасно, поскольку любой пользователь будет иметь возможность заливать файлы на сервер (например аватары). Создав особенное изображение, которое будет одновременно проходить валидацию размеров GD и исполняться php интерпретатором, будет иметь права на исполнение произвольного кода на сервере с правами php процесса.

Раскомментируем строчку и изменим значение на 0.

Также это можно сделать через настройки Nginx

location ~* .php$ {

try_files $fastcgi_script_name =404;

fastcgi_index index.php;

fastcgi_param script_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

Теперь доступ для несуществующих файлов с разрешением *.php закрыт.Cама реализация cgi.fix_pathinfo достаточно тормознутая — на каждый запрос проверяется каждый компонент пути — не скрипт ли это.Поэтому стоит выключать также и из соображений производительности.

Также не забываем изменить временную зону, для этого раскомментируем строчку ;date.timezone = и впишем необходимую временную зону.

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = Europe/Moscow

Далее, откроем конфигурационный файл PHP-FPM

vi /etc/php-fpm.d/www.conf

Находим строчку начинающуюся с listen и заменяем её полностью новым значением.

listen = /var/run/php-fpm/php-fpm.sock

Запускаем PHP-FPM
Добавляем PHP-FPM в автозагрузку

systemctl enable php-fpm.service

Шаг 4. Конфигурация NGINX

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

NGINX как и Apache поддерживает работу виртуальных хостов. Создавать файлы с хостами можно в директории /etc/nginx/conf.d/, но мы будем использовать другую схему.

Создаем директории под виртальные хосты

mkdir /etc/nginx/sites-available

mkdir /etc/nginx/sites-enabled

В файл конфигурации /etc/nginx/nginx.conf добавляем в конец строчку:

include /etc/nginx/sites-enabled/*;

Вероятно уже стало понятно, что в директории sites-available будут храниться файлы вирутальных хостов, а в директории sites-enabled будут симлинки на них, которые будут активны. Таким образом можно всегда просто включить/отключить один из хостов.

Создаем виртуальный хост

Создаем директории под содержимое сайта, а также под логи для каждого из хостов.

mkdir -p /srv/www/example.com/public_html

mkdir /srv/www/example.com/logs

chown -R apache:apache /srv/www/example.com

Создаем файл example.com в директории /etc/nginx/sites-available.

server {

server_name example.com;

access_log /srv/www/example.com/logs/access.log;

error_log /srv/www/example.com/logs/error.log;

root /srv/www/example.com/public_html;

location / {

try_files $uri $uri/ /index.html;

}

location ~ /\.ht {

deny all;

}

location ~ /\. {

deny all;

access_log off;

log_not_found off;

}

location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {

try_files $uri =404;

}

location ~* .php$ {

include /etc/nginx/fastcgi_params;

fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public_html$fastcgi_script_name;

}

}

Подключаем наш виртуальный хост

cd /etc/nginx/sites-enabled/

ln -s /etc/nginx/sites-available/example.com

systemctl restart nginx

Проверяем работу PHP

Создаем файл в директории сайта /srv/www/example.com/public_html/info.php

Открываем файл в браузере

http://example.com/info.php

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

Не забываем удалить файл info.php.На этом установка LEMP в CentOS 7 завершена.

bogachev.biz