И так, вы задались вопросом, как же установить базу данных, связать её с вашими плагинами, пользоваться адекватно, и стараться нигде не косячить? В этом вам поможет данный гайд. Здесь описано от начала установки базы данных (MariaDB) до установки веб морды (phpMyAdmin).
Все примеры будут на debian 11, на других дистрибутивах будет всё то же самое, будь то это centOS, AlmaLinux, RHEL, поделки от оракли (Oracle), сюзы (opensuse) или что-то в этом духе. Везде отличий будет по минимуму.
- Оптимизация, потребление железа. Весомый плюс у MariaDB, это потребление железяки. Машка думает быстрее, и занимает в озу места в разы меньше, нежели тот же мускул.
- Полная SQL совместимость с MySQL. Почти всё в них совпадает, и можно использовать в любом плагине, проблем не было ни разу.
- Опенсорсность. Машка полностью опенсорс, в то время как мускул нет.
- Поддержка двоичного шифрования, а так же имеет временное табличное пространство. Это прибавляет в безопасности как раз машки, и в минус идёт мускулу.
Основа такова, но на самом деле преимуществ на много больше чем я перечислил тут, так что всё же советую использовать именно машку.
debian и его форки (бубен, или ещё какая-то похожая пакость как убунту):
centos и его форки (AlmaLinux, RHEL и.т.д)
Так же можно установить такой командой, для дебиана и его форков:
centOS, fedora и форки:
Что же это за пакеты такие? Ответ прост:
- php-mbstring - модуль для работы со строками, не поддерживающими кодировку ASCII;
- php-zip – расширение, поддерживающее загрузку файлов .zip;
- php-gd - поддержка библиотеки GD Graphics;
- php-json - поддержка сериализации JSON;
- php-curl – расширение, позволяющее PHP взаимодействовать с разными типами серверов, используя разные протоколы.
После всех манипуляций проверяем наш статус службы. Как правило демон добавляется сам в автозагрузку.

как видим служба активна. Если же у вас демон не активен и не добавлен в автозагрузку, делаем это.
Запуск:
Добавление демона в автозагрузку:
Конфижим нашу машку (MariaDB), чуть улучшим её безопасность и всё в таком духе.
Вписываем:
Увидим такое. Тут нас спрашивают, установить ли пароль для root юзера для бд.
Если вы хотите, впишите. Если не хотите (но лучше вписать естественно) просто нажмите ввод. После того как вы вписали, нажмите ввод.

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

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

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

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

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

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

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

Входим в нашу машку. После ввода пишем пароль.
Создаём нашего пользователя:
Создаём базы данных. (так создаём сколько вам нужно):
Выдаём права на ваши базы данных:
Сохраняем изменения:
Выходим:
Второй вариант:
Входим в нашу машку. После ввода пишем пароль.
Создаём нашего пользователя:
Выдаём права юзеру:
Сохраняем изменения:
Выходим:
Описание прав можете посмотреть вот тут (а так же некоторую другую информацию) или в моей таблице ниже:
Устанавливаем phpMyAdmin и зависимость:
для debian и его форков:
для centOS и его форков:
При установке вылезет вот это. Выбираем apache2 (выбор веб сервера). После табом выбираем ок и тыкаем ввод.

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

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


ВНИМАНИЕ! Если вы избранный (мало-ли) и у вас не появляется окно выбора веб сервера (где мы выбирали apache2) то делаем следующее после установки phpmyadmin:
После вводим:
Затем:
Ну и в конце:
Всё, мы исправили проблему, и есть доступ к нашей панели.
И так, безопасность обеспечивается вторым паролем. Для настройки делаем так. Вписываем:
И добавляем туда такое:
После выходим сохраняя, нажимаем ctrl + x и пишем Y.
После пишем это. Нужно это для добавления нашего второго пароля. В имя вашего юзера пишем имя что мы прописывали на первом этапе, ещё аж при создании юзера в машке, т.е в моём случае там будет test. Вводим два раза пароль.
После сделаем настройку apache2. Открываем конфиг, пролистываем и ищем строку AllowOverride. Она будет где-то по центру файла. Меняем None на All. p.s да простят меня центоводы, федороводы и красношляпики, не помню честно где там находится конфиг, но вроде как по тому же пути


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


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

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

Вариант создания/восстановления через терминал для настоящих ♂ dungeon masters Linux'оидов ♂
Открываем терминал, от рута. Пишем:
username - ваше имя пользователя. Настоятельно советую вписывать root, что б прошло всё без проблем!
your_databaze1 и.т.д - это ваши базы данных, первая, вторая и.т.д.
your_file.sql - это конечный файл, название может быть разное, но обязательно с расширением sql!
Так же можно сделать бекап 1 базы данных, написав название только одной. Но лучше воспользоваться примером ниже.
Если у вас море баз данных или вам просто лень вводить названия, делаем так:
Всё то же самое что и у примера выше, username используем root и.т.д.
На выходе получаем файл .sql. Берём его, и тащим на новый сервер, либо храним на текущем в безопасном месте.
Восстановление базы данных из бекапа
На нашем сервере где мы хотим восстановить пишем:
your_database_name - имя вашей текущей базы данных, куда вы хотите залить бекап из файла your_file.sql.
Если вы сделали полный бекап (что я вам рекомендую делать) то просто пишем:
Это скопирует полный дамп в машку. Естественно так же делаем от рута, и пишем в username root.
Все примеры будут на debian 11, на других дистрибутивах будет всё то же самое, будь то это centOS, AlmaLinux, RHEL, поделки от оракли (Oracle), сюзы (opensuse) или что-то в этом духе. Везде отличий будет по минимуму.
- Более быстрая проверка привелегий. Это даёт прибавку скорости в использовании, ведь при внесении значений считывается и проверяется привелегия пользователя, что может пагубно сказаться на ответе при вводе команд, создании таблиц, и.т.д.Предисловие. Почему именно MariaDB а не MySQL
- Оптимизация, потребление железа. Весомый плюс у MariaDB, это потребление железяки. Машка думает быстрее, и занимает в озу места в разы меньше, нежели тот же мускул.
- Полная SQL совместимость с MySQL. Почти всё в них совпадает, и можно использовать в любом плагине, проблем не было ни разу.
- Опенсорсность. Машка полностью опенсорс, в то время как мускул нет.
- Поддержка двоичного шифрования, а так же имеет временное табличное пространство. Это прибавляет в безопасности как раз машки, и в минус идёт мускулу.
Основа такова, но на самом деле преимуществ на много больше чем я перечислил тут, так что всё же советую использовать именно машку.
Все команды выполняются от root или дописывается везде sudo. В моём примере это были контейнеры, с рут пользователем, по этому тут этого нет.Установка и настройка MariaDB
debian и его форки (бубен, или ещё какая-то похожая пакость как убунту):
Код:
apt update && apt upgrade -y && apt install mariadb-server -y
Код:
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
Код:
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

как видим служба активна. Если же у вас демон не активен и не добавлен в автозагрузку, делаем это.
Запуск:
Код:
systemctl start mariadb
Код:
systemctl enable mariadb
Вписываем:
Код:
mysql_secure_installation
Увидим такое. Тут нас спрашивают, установить ли пароль для root юзера для бд.
Если вы хотите, впишите. Если не хотите (но лучше вписать естественно) просто нажмите ввод. После того как вы вписали, нажмите ввод.

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

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

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

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

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

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

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

Первый вариант (более геморройный, но рекомендую я именно его, ибо более безопасен):Создание юзера и выдача прав
Входим в нашу машку. После ввода пишем пароль.
Код:
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
Код:
dnf install phpmyadmin -y && dnf install php -y
При установке вылезет вот это. Выбираем apache2 (выбор веб сервера). После табом выбираем ок и тыкаем ввод.

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

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


ВНИМАНИЕ! Если вы избранный (мало-ли) и у вас не появляется окно выбора веб сервера (где мы выбирали 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
После пишем это. Нужно это для добавления нашего второго пароля. В имя вашего юзера пишем имя что мы прописывали на первом этапе, ещё аж при создании юзера в машке, т.е в моём случае там будет test. Вводим два раза пароль.
Код:
htpasswd -c /etc/phpmyadmin/.htpasswd имя_вашего_юзера
Код:
nano /etc/apache2/apache2.conf


Нажимаем ctrl + x пишем Y.
Перезагружаем наш веб сервер командой:
Код:
systemctl restart apache2
Если вы нигде не ошиблись, после попадания снова в панельку вы увидите такое. Введите ваш пароль что мы создали только что ну и логин, после войдите.
После введите пароль самого юзера от машки и сидите радуйтесь, теперь ваша безопасность повышена, хоть и не на много, но всё лучше чем было


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

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

Вариант создания/восстановления через терминал для настоящих ♂ dungeon masters Linux'оидов ♂
Открываем терминал, от рута. Пишем:
Код:
mysqldump -u username -p --databases your_database1 your_database2 your_database3 > your_file.sql
your_databaze1 и.т.д - это ваши базы данных, первая, вторая и.т.д.
your_file.sql - это конечный файл, название может быть разное, но обязательно с расширением sql!
Так же можно сделать бекап 1 базы данных, написав название только одной. Но лучше воспользоваться примером ниже.
Если у вас море баз данных или вам просто лень вводить названия, делаем так:
Код:
mysqldump -u username -p --all-databases > your_file.sql
На выходе получаем файл .sql. Берём его, и тащим на новый сервер, либо храним на текущем в безопасном месте.
Восстановление базы данных из бекапа
На нашем сервере где мы хотим восстановить пишем:
Код:
mysql -u username -p your_database_name < your_file.sql
Код:
mysql -u username -p < your_file.sql
Если вы сделали полный бекап (что я вам рекомендую делать) то просто пишем:
Код:
mysql -u username -p < your_file.sql
Вложения
-
1659801354720.png59.1 КБ · Просмотры: 2
-
1659801384684.png63.6 КБ · Просмотры: 2
-
1659801527602.png56.6 КБ · Просмотры: 2
-
1659801534202.png56.6 КБ · Просмотры: 1
-
1659801542623.png56.6 КБ · Просмотры: 1
-
1659801552643.png56.6 КБ · Просмотры: 3
-
1660449836704.png69.4 КБ · Просмотры: 0
-
1660449879395.png69.4 КБ · Просмотры: 0
-
1660450018066.png55.4 КБ · Просмотры: 0
-
1660450030566.png55.4 КБ · Просмотры: 3
Последнее редактирование: