Установка MariaDB, phpMyAdmin создание бекапов

  • Мы теперь в Discord

    Мы рады объявить, что теперь у нас есть сервер Discord. В честь этого мы проводим розыгрыш!
    Теперь вы можете легко связаться с нами и другими участниками сообщества,
    обмениваться идеями и получать обновления о нашей деятельности.

  • EXCLUSIVE ⚡

    Гость, покупая подписку, ты увеличишь свои доходы в разы!
    Мы делаем самые актуальные сборки, переводим лучшие приватные плагины, а так-же обновляем их и фиксим любые ошибки.
    Дешевле, чем студии и другие разработчики!

  • Приветствуем тебя Гость!⁣

    Недавно на форуме? Не знаешь как можно скачивать ресурсы?
    Для этого нужно лишь зарегистрировать на форуме, и получать доступ к профессиональным плагинам, оптимизированным настройкам.
    Здесь только самое лучшее.

  • Обновленный «Mc-market.ru»

    Теперь у вас есть возможность продавать свои товары на Minecraft маркете.
    Это отличная возможность для вас начать зарабатывать на своих навыках и труде.
    Начни продавать сейчас!

  • Интеграция ChatGPT

    Администраторы Minecraft могут столкнуться с различными проблемами, связанными с работой серверов и кодом.
    Однако, благодаря инновационным технологиям, искусственный интеллект может помочь решить эти проблемы.
    Реши свою любую проблему сейчас!

Lastyyy

EXCLUSIVE ⚡
Premium+
Пользователь
9 Янв 2021
10
3
3
Россия
И так, вы задались вопросом, как же установить базу данных, связать её с вашими плагинами, пользоваться адекватно, и стараться нигде не косячить? В этом вам поможет данный гайд. Здесь описано от начала установки базы данных (MariaDB) до установки веб морды (phpMyAdmin).
Все примеры будут на debian 11, на других дистрибутивах будет всё то же самое, будь то это centOS, AlmaLinux, RHEL, поделки от оракли (Oracle), сюзы (opensuse) или что-то в этом духе. Везде отличий будет по минимуму.

Предисловие. Почему именно MariaDB а не MySQL
- Более быстрая проверка привелегий. Это даёт прибавку скорости в использовании, ведь при внесении значений считывается и проверяется привелегия пользователя, что может пагубно сказаться на ответе при вводе команд, создании таблиц, и.т.д.
- Оптимизация, потребление железа. Весомый плюс у MariaDB, это потребление железяки. Машка думает быстрее, и занимает в озу места в разы меньше, нежели тот же мускул.
- Полная SQL совместимость с MySQL. Почти всё в них совпадает, и можно использовать в любом плагине, проблем не было ни разу.
- Опенсорсность. Машка полностью опенсорс, в то время как мускул нет.
- Поддержка двоичного шифрования, а так же имеет временное табличное пространство. Это прибавляет в безопасности как раз машки, и в минус идёт мускулу.
Основа такова, но на самом деле преимуществ на много больше чем я перечислил тут, так что всё же советую использовать именно машку.

Установка и настройка MariaDB
Все команды выполняются от root или дописывается везде sudo. В моём примере это были контейнеры, с рут пользователем, по этому тут этого нет.
debian и его форки (бубен, или ещё какая-то похожая пакость как убунту):
Код:
apt update && apt upgrade -y && apt install mariadb-server -y
centos и его форки (AlmaLinux, RHEL и.т.д)
Код:
dnf update && dnf upgrade -y && dnf install mariadb-server -y
Так же можно установить такой командой, для дебиана и его форков:
Код:
apt update && apt upgrade -y && apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl php -y
centOS, fedora и форки:
Код:
dnf update && dnf upgrade -y && dnf install phpmyadmin php-mbstring php-zip php-gd php-json php-curl php -y

Что же это за пакеты такие? Ответ прост:
- php-mbstring - модуль для работы со строками, не поддерживающими кодировку ASCII;
- php-zip – расширение, поддерживающее загрузку файлов .zip;
- php-gd - поддержка библиотеки GD Graphics;
- php-json - поддержка сериализации JSON;
- php-curl – расширение, позволяющее PHP взаимодействовать с разными типами серверов, используя разные протоколы.

После всех манипуляций проверяем наш статус службы. Как правило демон добавляется сам в автозагрузку.
Код:
systemctl status mariadb
1659801297317.png
как видим служба активна. Если же у вас демон не активен и не добавлен в автозагрузку, делаем это.
Запуск:
Код:
systemctl start mariadb
Добавление демона в автозагрузку:
Код:
systemctl enable mariadb
Конфижим нашу машку (MariaDB), чуть улучшим её безопасность и всё в таком духе.

Вписываем:
Код:
mysql_secure_installation

Увидим такое. Тут нас спрашивают, установить ли пароль для root юзера для бд.
Если вы хотите, впишите. Если не хотите (но лучше вписать естественно) просто нажмите ввод. После того как вы вписали, нажмите ввод.
1659801334144.png

После вы увидите такое. Это можно скипнуть нажав "n". Это авторизация по unix_socket, просто добавляет безопасности. Если установили пароль, можно не устанавливать.
1659801344540.png

Далее вы увидите это. Можно нажимать "n". Это изменение вашего пароля от рут юзера, мы его ввели ранее.
1659801399176.png

Далее вы увидите это. Можете смело нажимать "y". Это удаление анонимных пользователей. Рекомендую их удалить.
1659801412632.png

Далее вы увидите это. Это добавляет ещё большей безопасности, ибо это запрещает удалённое подключение к root пользователю "из сети" и даёт только коннект через localhost. Естественно жмём "y".
1659801422457.png

Далее увидим это. Тут нас спрашивают удалить ли тестовую базу данных, можете и не удалять, но я советую удалить, вводим "y".
1659801438607.png

Далее будет это. Тут нас спрашивают перезагружать ли нам базы данных что б изменения вступили сразу в силу. Естественно жмём "y".
1659801456271.png

Поздравляю, вы установили и настроили MariaDB!

Создание юзера и выдача прав
1659801476438.png
Создание юзера и выдача прав
Первый вариант (более геморройный, но рекомендую я именно его, ибо более безопасен):
Входим в нашу машку. После ввода пишем пароль.
Код:
mysql -u root -p
Создаём нашего пользователя:
Код:
CREATE USER 'тут_имя_вашего_юзера'@'localhost' IDENTIFIED BY 'тут_ваш_пароль';
Создаём базы данных. (так создаём сколько вам нужно):
Код:
CREATE DATABASE имя_базы_данных;
Выдаём права на ваши базы данных:
Код:
GRANT ALL PRIVILEGES ON имя_базы_данных.* TO 'тут_имя_вашего_юзера'@'localhost';
Сохраняем изменения:
Код:
FLUSH PRIVILEGES;
Выходим:
Код:
exit;
Второй вариант:
Входим в нашу машку. После ввода пишем пароль.
Код:
mysql -u root -p
Создаём нашего пользователя:
Код:
CREATE USER 'тут_имя_вашего_юзера'@'localhost' IDENTIFIED BY 'тут_ваш_пароль';
Выдаём права юзеру:
Код:
GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP ON *.* TO 'тут_имя_вашего_юзера'@'localhost';
Сохраняем изменения:
Код:
FLUSH PRIVILEGES;
Выходим:
Код:
exit;

Описание прав можете посмотреть вот тут (а так же некоторую другую информацию) или в моей таблице ниже:
ПривилегияКонтекст (поле) действия

SELECT

таблицы (выбор в таблицах и.т.д)

INSERT

таблицы (вставлять в таблицах и.т.д)
UPDATEтаблицы (обновление таблиц и.т.д)
DELETEтаблицы (удаление таблиц, строк и.т.д)
INDEX
таблицы (индексирование таблиц и.т.д)
ALTERтаблицы (изменение таблиц и.т.д)

CREATE

базы данных, таблицы или индексы (создание всего перечисленного)

DROP
базы данных или таблицы (удаление всего перечисленного)

Установка PhpMyAdmin

Устанавливаем phpMyAdmin и зависимость:

для debian и его форков:
Код:
apt install phpmyadmin -y && apt install php -y
для centOS и его форков:
Код:
dnf install phpmyadmin -y && dnf install php -y

При установке вылезет вот это. Выбираем apache2 (выбор веб сервера). После табом выбираем ок и тыкаем ввод.
1659801509269.png

Здесь нам скажут что можем помочь вам донастроить базы данных. Жмём "no" ведь мы опытные пользователи.
1659801519131.png

После вбивавем в поисковую строку браузера http://ip_сервера_где_поставлена_панель/phpmyadmin и видим вот это. Вводим наши данные что мы вбивали ранее, и радуемся!
1659801618799.png
1659801633119.png

ВНИМАНИЕ! Если вы избранный (мало-ли) и у вас не появляется окно выбора веб сервера (где мы выбирали apache2) то делаем следующее после установки phpmyadmin:
Код:
apt install apache2
После вводим:
Код:
ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
Затем:
Код:
a2enconf phpmyadmin
Ну и в конце:
Код:
systemctl restart apache2
Всё, мы исправили проблему, и есть доступ к нашей панели.
Безопасность PhpMyAdmin
★ Добавляем безопасности нашей панельке оберегая от лишнего постороннего доступа. ★
Добавлено по просьбам трудящихся​

И так, безопасность обеспечивается вторым паролем. Для настройки делаем так. Вписываем:
Код:
nano /usr/share/phpmyadmin/.htaccess
И добавляем туда такое:
Код:
AuthType Basic
Authname "Restricted Content"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
После выходим сохраняя, нажимаем ctrl + x и пишем Y.

После пишем это. Нужно это для добавления нашего второго пароля. В имя вашего юзера пишем имя что мы прописывали на первом этапе, ещё аж при создании юзера в машке, т.е в моём случае там будет test. Вводим два раза пароль.
Код:
htpasswd -c /etc/phpmyadmin/.htpasswd имя_вашего_юзера
После сделаем настройку apache2. Открываем конфиг, пролистываем и ищем строку AllowOverride. Она будет где-то по центру файла. Меняем None на All. p.s да простят меня центоводы, федороводы и красношляпики, не помню честно где там находится конфиг, но вроде как по тому же пути
Код:
nano /etc/apache2/apache2.conf
1660449922246.png
1660449899892.png
Нажимаем ctrl + x пишем Y.

Перезагружаем наш веб сервер командой:
Код:
systemctl restart apache2

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


1660450001194.png1660450042880.png
Создание бекапов
Самый простой, через панель phpmyadmin.

Нажимаем export (в ру версии экспорт) и жмём Go. После мы получим файл с базой данных, как правило такого бекапа хватает.
1659801646986.png

Восстановление бекапа из phpmyadmin.

Выбираем нужную базу данных, выбираем import, и выбираем наш файл, что мы сохранили на прошлом этапе. Пролистываем вниз, жмём Go. Всё, мы успешно восстановили бекап! Так можно делать много раз, и любые таблицы, базы, и.т.д.
1659801661314.png

Вариант создания/восстановления через терминал для настоящих ♂ dungeon masters Linux'оидов ♂

Открываем терминал, от рута. Пишем:
Код:
mysqldump -u username -p --databases your_database1 your_database2 your_database3 > your_file.sql
username - ваше имя пользователя. Настоятельно советую вписывать root, что б прошло всё без проблем!
your_databaze1 и.т.д - это ваши базы данных, первая, вторая и.т.д.
your_file.sql - это конечный файл, название может быть разное, но обязательно с расширением sql!
Так же можно сделать бекап 1 базы данных, написав название только одной. Но лучше воспользоваться примером ниже.

Если у вас море баз данных или вам просто лень вводить названия, делаем так:
Код:
mysqldump -u username -p --all-databases > your_file.sql
Всё то же самое что и у примера выше, username используем root и.т.д.

На выходе получаем файл .sql. Берём его, и тащим на новый сервер, либо храним на текущем в безопасном месте.
Восстановление базы данных из бекапа

На нашем сервере где мы хотим восстановить пишем:
Код:
mysql -u username -p your_database_name < your_file.sql
Код:
mysql -u username -p < your_file.sql
your_database_name - имя вашей текущей базы данных, куда вы хотите залить бекап из файла your_file.sql.

Если вы сделали полный бекап (что я вам рекомендую делать) то просто пишем:
Код:
mysql -u username -p < your_file.sql
Это скопирует полный дамп в машку. Естественно так же делаем от рута, и пишем в username root.
 

Вложения

  • 1659801354720.png
    1659801354720.png
    59.1 КБ · Просмотры: 2
  • 1659801384684.png
    1659801384684.png
    63.6 КБ · Просмотры: 2
  • 1659801527602.png
    1659801527602.png
    56.6 КБ · Просмотры: 2
  • 1659801534202.png
    1659801534202.png
    56.6 КБ · Просмотры: 1
  • 1659801542623.png
    1659801542623.png
    56.6 КБ · Просмотры: 1
  • 1659801552643.png
    1659801552643.png
    56.6 КБ · Просмотры: 3
  • 1660449836704.png
    1660449836704.png
    69.4 КБ · Просмотры: 0
  • 1660449879395.png
    1660449879395.png
    69.4 КБ · Просмотры: 0
  • 1660450018066.png
    1660450018066.png
    55.4 КБ · Просмотры: 0
  • 1660450030566.png
    1660450030566.png
    55.4 КБ · Просмотры: 2
Последнее редактирование:
  • GOOD JOB
Реакции: Reflex_

Lastyyy

EXCLUSIVE ⚡
Premium+
Пользователь
9 Янв 2021
10
3
3
Россия
Добавил раздел безопасность PhpMyAdmin ((спасибо юзерам что напоминили) как говорится фулл по просьбам трудящихся xD) а так же чуть отредактировал оформление, добавил некоторые новые команды
 

ScarDay

EXCLUSIVE ⚡
Пользователь
7 Авг 2021
60
3
8
atgxxl.pw
Тутор прикольный, но как я знаю в phpmyadmin есть дыры, так-что советую использовать heiqisql.
 

Помочь проекту! 💕

Собрано
"40,140.00" ₽
Цель
"50,000.00" ₽

Последние ресурсы