How to install mysql on centos/rhel 7/6 & fedora 32/31

Step 2 – Install MySQL 5.7 Server

As you have successfully enabled MySQL yum repository on your system. Now, install MySQL 5.7 community server using following commands as per your operating system version.
On CentOS and RHEL 7/6

yum install mysql-community-server

On Fedora 27/26/25:

# dnf install mysql-community-server

The above command will install MySQL community server will other dependencies on your system. During the installation process of packages, a temporary password is created and logs to MySQL log files. Use the following command to find your temporary MySQL password.

Get Temporary root Password:

grep 'A temporary password' /var/log/mysqld.log |tail -1

Sample output:

2017-03-30T02:57:10.981502Z 1  A temporary password is generated for : Nm(!pKkkjo68e

Установка Zend Framework на Fedora/CentOS / RHEL

Это краткое руководство, с практическими рекомендациями как установить Zend Framework (ZF)  на Fedora, CentOS и Red Hat (RHEL). Это руководство также работает с более ранних версий Fedora, как Fedora 13/12/11, а также с более новыми версиями CentOS / Red Hat RHEL 5. Я использую репозиторий Remi здесь, потому что он обновляется чаще, чем собственные хранилища (например в Fedora).

Что такое Zend Framework?Zend Framework является простым и с открытым исходным кодом для PHP 5 предназначен для устранения утомительных деталей кодирования и позволить вам сосредоточиться на общей картине. Его сила в его высоко-модульной конструкции MVC, что делает ваш код более понятными простым  в обслуживании.

Step 1 – Enable MySQL Repository

First of all, You need to enable MySQL 5.7 community release yum repository on your system. The rpm packages for yum repository configuration are available on MySQL official website. Use on of below command as per your operating system version.

-- On CentOS and RHEL 7 -- yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

-- On CentOS and RHEL 6 -- yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

-- On Fedora 27 -- dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

-- On Fedora 26 -- dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

-- On Fedora 25 -- dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

Web сервер на CentOS 8

Итак, наш веб сервер centos будет состоять из трех основных компонентов — http сервера apache, интерпретатора языка программирования php и сервера баз данных mysql. Познакомимся немного с каждым из них:

  1. Apache — http сервер или просто веб сервер апач. Является кросплатформенным ПО, поддерживающим практически все популярные операционные системы, в том числе и Windows. Ценится прежде всего за свою надежность и гибкость конфигурации, которую можно существенно расширить благодаря подключаемым модулям, которых существует великое множество. Из недостатков отмечают большую требовательность к ресурсам, по сравнению с другими серверами. Держать такую же нагрузку, как, к примеру, nginx, apache не сможет при схожих параметрах железа.
  2. PHP — язык программирования общего назначения, который чаще всего применяется в веб разработке. На сегодняшний день это самый популярный язык в этой области применения. Поддерживается практически всеми хостинг-провайдерами.
  3. Mysql — система управления базами данных. Завоевала свою популярность в среде малых и средних приложений, которых очень много в вебе. Так что, как и php, на сегодняшний день является самой популярной бд, использующейся на веб сайтах. Поддерживается большинством хостингов. В CentOS вместо mysql устанавливается mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Я встречал информацию, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. На практике мне не довелось это наблюдать, так как никогда не работал с нагруженными базами данных. А в обычных условиях разница не заметна.

Подопытным сервером будет выступать виртуальная машина от ihor, характеристики следующие:

Процессор 2 ядра
Память 3 Gb
Диск 30 Gb SSD

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

Step 1 – Configure Yum Repository

First, we need to add the MySQL yum repository in our system provided by MySQL. Execute one of below command as per your operating system version.

### On CentOS/RHEL 7 system ###rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

### On CentOS/RHEL 6 system ###rpm -Uvh https://repo.mysql.com/mysql80-community-release-el6-3.noarch.rpm

### On Fedora 32 system ###rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc32-1.noarch.rpm

### On Fedora 31 system ###rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc31-1.noarch.rpm

### On Fedora 30 system ###rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc30-1.noarch.rpm

Ротация логов веб сервера apache

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

У нас уже будет файл конфигурации logrotate для httpd, который был создан во время установки — /etc/logrotate.d/httpd. Приведем его к следующему виду:

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}

/web/sites/pma.serveradmin.ru/log/*log {
    size=10M
    rotate 10
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}

/web/sites/z.serveradmin.ru/log/*log {
    size=10M
    rotate 10
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}

Создание новых Zend тест-проектов и тестов на которых работает Zend Framework.

Проверим функциональность и версию Zend Framework:

# zf show version
Zend Framework Version: 2.3.1

Создание нового проекта Zend:

# cd /var/www/html
# zf create project proben
# Creating project at /var/www/html/proben

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

Создадим ссылку (символическую ссылку) / скопируем Zend каталог в каталог проекта:

# cd test-project/library
или
# cd /var/www/html/test-project/library

Сделаем символическую ссылку

# ln -s /usr/share/php/Zend

или скопируем путь к Zend Framework

# cp -R /usr/share/php/Zend

Примечание: Если вы используете метод символьной ссылки, то Zend Framework обновляется автоматически все ваши проекты с обновлением yum.

Проверить содержимое директории proben. Вот так должно выглядеть следующим образом (проверить нужно также library/Zend):

project-proben на Zend Framework

Проверить можно перейдя по вашему ИП или хосту в браузере. У меня это выглядит так:http://localhost/proben/public/

Установка Zend Framework на Fedora и CentOS или RHEL

Установка Zend Framework на Fedora/CentOS / RHEL завершена  и теперь Вы можете использовать зенд фреймворк.

Verify The USER mysql access:

 ~]# mysql -u osradar_user -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| osradar |
+--------------------+
2 rows in set (0.00 sec)

mysql>

Репозитории в CentOS

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

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

В нашем случае репозиторий — хранилище пакетов для операционной системы CentOS. Существуют repository от разработчика системы, их называют официальные. Набор rpm пакетов там обычно ограничен и версии не самые свежие. Для установки дополнительного софта используют сторонние репозитории. Их поддерживать могут как другие компании, так и группы энтузиастов.

Управлением пакетами и репозиториями в CentOS занимается утилита yum. Ее конфигурационный файл находится в /etc/yum.conf. Этот файл содержит секцию , в которой указываются глобальные настройки программы. Так же он может содержать одну или несколько секций , в которой хранятся настройки репозиториев. Тем не менее, рекомендуется информацию о репозиториях хранить в каталоге /etc/yum.repos.d/ в специальных файлах .repo.

Минимальное содержание файла .repo следующее:

name=repository_name
baseurl=repository_url
name имя, описывающее репозиторий, может быть любым
baseurl ссылка на расположение репозитория, может быть в виде http, ftp или file ссылки

Другие ползные параметры, которые могут быть указаны в repo файле:

enabled принимает значение 1 или 0, 1 — репозиторий подключен, 0 — отключен
async управляет загрузкой пакетов, auto — использует при возможности параллельную загрузку, on — использует только параллельную загрузку, off — параллельная загрузка отключена
mirrorlist вместо ссылки на конкретный адрес репозитория может быть указана ссылка на список адресов, из которых при установке будет выбран наиболее подходящий
gpgcheck принимает значение 1 или 0, 1- осуществлять проверку GPG подписи пакета из репозитория, 0 — не проверять
gpgkey ссылка на GPG ключ репозитория

Вот содержание стандартного файла с репозиториями CentOS /etc/yum.repos.d/CentOS-Base.repo:

name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates

name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages

name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Install MySQL Database 8.0.13/5.7.23 on Fedora 28/29, CentOS 7.5/6.10, Red Hat (RHEL) 7.6/6.10

2. Install MySQL YUM repository

Fedora

— Advertisement —

## Fedora 28 ##
dnf install https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm

## Fedora 29 ##
dnf install https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm


CentOS and Red Hat (RHEL)

## CentOS 7 and Red Hat (RHEL) 7 ##
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

## CentOS 6 and Red Hat (RHEL) 6 ##
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm

3a. Update or Install MySQL 8.0.13

yum install mysql-community-server

4. Start MySQL server and autostart MySQL on boot

CentOS 6.10 and Red Hat (RHEL) 6.10

/etc/init.d/mysql start ## use restart after update
## OR ##
service mysql start ## use restart after update

chkconfig --levels 235 mysqld on

5. Get Your Generated Random root Password

grep 'A temporary password is generated for ' /var/log/mysqld.log |tail -1

Example Output:

And root password is: fQGM*ec61-s#

you can Keep this password if you like :

6. MySQL Secure Installation

  • Change root password
  • Remove anonymous users
  • Disallow root login remotely
  • Remove test database and access to it
  • Reload privilege tables

Start MySQL Secure Installation with following command

/usr/bin/mysql_secure_installation
 ~]# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:   #( please   insert the password found in logs  Above) 

The existing password for the user account root has expired. Please set a new password.


Re-enter new password:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.

All done!
 ~]#

Note: If you don’t want some reason, do a “MySQL Secure Installation” then at least it’s very important to change the root user’s password

mysqladmin -u root password 

## Example ##
mysqladmin -u root password myownsecrectpass

8. Create Database, Create MySQL User and Enable Remote Connections to MySQL Database

This example uses following parameters:

  • DB_NAME = osradar
  • USER_NAME = osradar_user
  • PASSWORD = @@Osradar
  • PERMISSIONS = ALL
## CREATE DATABASE ##
mysql> CREATE DATABASE osradar;

## CREATE USER ##
mysql> CREATE USER 'osradar_user'@'localhost' IDENTIFIED BY '@@Osradar'
-> ;
Query OK, 0 rows affected (0.05 sec)
# Grant Access 
mysql> GRANT ALL ON osradar.* TO 'osradar_user'@'localhost'; Query OK, 0 rows affected (0.04 sec)
mysql> flush Privileges;

Please note : to allow connection from remote IP . please change Localhost with Remore IP

Подключение rpmforge repo в CentOS

Полное название rpmforge репозитория — RepoForge. По информации с сайта wiki.centos.org этот архив больше не поддерживается и не рекомендуется к установке. Но лично я нигде больше не нашел об этом информацию, в том числе и на официальном сайте repoforge.org. Данный репозиторий содержит следующие наборы совместимых RHEL пакетов:

  • Servers (eg. monitoring, troubleshooting, management)
  • Desktops (eg. office, leisure, multi-media)
  • Development (eg. perl, python, ruby libraries)

Установка rpmforge на centos:

  1. Устанавливаем GPG ключ:
    # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
  2. Идем на страницу загрузки и копируем ссылку rpm пакета под нужную нам архитектуру.
  3. Устанавливаем скопированный rpm пакет:
    # yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

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

# yum -y install http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

По последним данным, репозиторий rpmforge закрыт и больше не поддерживается :( https://github.com/repoforge/rpms/issues/375 https://wiki.centos.org/AdditionalResources/Repositories/RPMForge

Проверяем директорию /etc/yum.repos.d:

# ls -l | grep rpmforge

-rw-r--r--. 1 root root 739 Jun 12 2014 mirrors-rpmforge
-rw-r--r--. 1 root root 717 Jun 12 2014 mirrors-rpmforge-extras
-rw-r--r--. 1 root root 728 Jun 12 2014 mirrors-rpmforge-testing
-rw-r--r--. 1 root root 1128 Jun 12 2014 rpmforge.repo

Все в порядке rpmforge репозиторий установлен.

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

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

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

# dnf install mariadb mariadb-server

Запускаем mariadb и добавляем в автозагрузку.

# systemctl start mariadb
# systemctl enable mariadb

Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.

# /usr/bin/mysql_secure_installation

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

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

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

# systemctl restart mariadb

На этом все. Базовый функционал web сервера на CentOS 8 настроен. Дальше настроим популярную панель управления mysql сервером — phpmyadmin.

Настройка MySQL CentOS 7

По умолчанию MySQL будет слушать локальный хост 127.0.0.1. Если вы хотите, чтобы сервер был доступен из интернета, необходимо изменить несколько настроек в файле /etc/my.cnf. Однако, не рекомендуется делать сервер баз данных доступным через интернет. Чтобы указать внешний ip адрес, который нужно прослушивать используется строку bind_address:

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

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

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

Затем укажите что пароль менять не нужно. Отключите анонимных пользователей. Запретите удаленный вход от имени пользователя root:

Удалите тестовые таблицы:

И обновите таблицы привелегий:

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

Утилита, запросит пароль, введите пароль root, который задали на предыдущем этапе, дальше вы сможете выполнять команды mysql:

Давайте создадим пользователя dbuser для базы данных dbase, с паролем password. Вам нужно заменить эти значения на свои. Сначала создаем базу данных:

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

Переключите на новую базу данных:

Затем создайте таблицу:

Готово. Теперь вы знаете как выполняется установка MySQL CentOS 7. Давайте еще рассмотрим как сбросить пароль в MySQL.

Step 1: Download RPM Installation File

Typically, a web browser is used to locate and download a .rpm file. However, if a browser is not available you can still download a file if you know where it’s located.

You may need to install a software tool called .

To install in CentOS, enter the following in a terminal window:

To install in Fedora, enter the following:

Now, you can use the command to download the .rpm file you want. Enter the following:

The system should reach out to the website and download the file to your current working directory.

Note: You can look up the address of a particular .rpm file in a web browser on another system. Also, this is a handy way to install more recent software versions or special non-standard software. Also, take care when installing software packages! Make sure you trust the source before you install. Usually, a developer will include a verification method to make sure you’re getting authentic software.

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

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