Архив метки: Linux

Ускоряем MySQL/MariaDB используя RAM-диск на UBUNTU 20.04 LTS SERVER в 2022 году

Перенос баз данных в оперативную память




Сначала сделайте резервную копию всех баз данных.




Скопируем его в /var/lib/mysql.bak:




sudo cp -pRL /var/lib/mysql /var/lib/mysql.bak




Создайте каталог для RAM-диска.




sudo mkdir /ramdisk




Заранее уточните размер папки с базами данных MySQL/MqriaDB командой:




 du -hs /var/lib/mysql/




Исходя из полученного размера и учитывая дальнейший рост базы нужно установить соответствующий размер RAM-диска (виртуального диска в оперативной памяти). Я назначил рамдиску размер 4ГБ.




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




Монтируем соответствующий раздел командой:




sudo mount -t tmpfs -o size=4G tmpfs /ramdisk/




Останавливаем MySQL/MariaDB командой:




sudo service mysql stop
или
sudo /etc/init.d/mysql stop




Перемещаем файлы баз данных MySQL/MariaDB в раздел RAM-диска.




sudo mv /var/lib/mysql /ramdisk/mysql




Создаём символическую ссылку на RAM-диск.




sudo ln -s /ramdisk/mysql /var/lib/mysql




Изменяем права папки на MySQL, чтобы разрешить доступ.




sudo chown mysql:mysql /ramdisk/mysql




Перезапустите MySQL, чтобы изменения вступили в силу.




sudo service mysql restart
или
sudo /etc/init.d/mysql restart




Восстановление баз данных




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




Вот шаги для его восстановления.




Удалите ранее созданную символическую ссылку на mysql ramdisk.




sudo rm -rf /var/lib/mysql




Скопируйте и восстановите базы данных из резервной копии.




sudo cp -pRL /var/lib/mysql.bak /var/lib/mysql




Скрипты для удобства




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




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




#!/bin/bash

# Script for restoring backed up database that was moved to the RAM Disk.

if [ $(uname) = "Linux" ]; then

# Delete detached symlink

[ -L /var/lib/mysql ] && sudo rm -rf /var/lib/mysql

# Restore backups

[ -d /var/lib/mysql.bak ] && sudo cp -pRL /var/lib/mysql.bak /var/lib/mysql

else

echo "Unsupported platform."

fi




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




#!/bin/bash

# Create ramdisk if it doesn't exist.

[ ! -d /ramdisk ] && sudo mkdir /ramdisk

# Mount ramdisk has been created.

[ -d /ramdisk ] && sudo mount -t tmpfs -o size=4G tmpfs /ramdisk/

if [ -d /var/lib/mysql ]; then

# Move the mysql databases to the ramdisk if it exists

sudo mv /var/lib/mysql /ramdisk/mysql

# Create a symbolic link.

sudo ln -s /ramdisk/mysql /var/lib/mysql

# Change ownership to mysql.

[ -d /ramdisk/mysql ] && sudo chown mysql:mysql /ramdisk/mysql

else

echo "No MySQL directory at /var/lib."

fi;

# Restart mysql.

sudo /etc/init.d/mysql restart




Это то, что я выполняю каждый раз, когда перезагружаю сервер.




# Restore the data first.

./mysql-ramdisk-restore.sh

# then move it to the RAM.

./mysql-ramdisk.sh




Обязательно убедитесь, что вы создали резервную копию своих баз данных в /var/lib/mysql.bak перед выполнением этих команд.



2022-06-23T00:29:07
Веб-разработка

Восстанавливаем загрузчик Grub на Linux

Сегодня разберём пример, как можно восстановить загрузчик GRUB после его поломки.

Если у вас поломался загрузчик GRUB, то в этой статье я расскажу как его можно восстановить. Для систем c ext и btrfs Читать

Как изменить владельца папки в Linux

папка владельца

Когда система используется несколькими пользователями или одним пользователем, но вам нужно изменить каталог владельца, например, на учетную запись какой-либо программы и т. д., вы должны знать как сменить владельца папки в линукс. Есть несколько способов сделать это, как я объясню вам в этом кратком руководстве, и вы сможете следовать ему шаг за шагом, чтобы сделать его очень простым, даже если вы новичок в мире Linux. Как видите, это не очень сложно.

Читать

Как посмотреть версию Ubuntu

Учебник по установке: Ubuntu 21.10 - 30

Если вы хотите увидеть Версия Ubuntu который вы установили на свой компьютер, вы можете следовать этому руководству со способами сделать это, так как существует не только один. Кроме того, я объясню вам это очень просто, шаг за шагом. Таким образом, даже новички в мире Linux смогут выполнить шаги, которые приведут вас к версии вашего любимого дистрибутива.

Читать

Снапшоты репозиториев debian

У репозиториев Debian есть официальные снапшоты репозиториев. В этой небольшой заметке я покажу что это такое и как этим можно пользоваться.





Читать

Пакетный менеджер dpkg

На этом уроке рассмотрим пакетный менеджер dpkg, который в отличии от apt не умеет работать с репозиториями.





Читать