۱. نصب و ایمنسازی
sudo apt update
sudo apt install -y mariadb-server
sudo mariadb-secure-installationدر Debian کاربر root پایگاه داده از طریق unix socket احراز هویت میشود؛ یعنی فقط sudo mariadb به آن دسترسی دارد و رمز لازم نیست. این حالت امن است؛ آن را عوض نکنید.
۲. کاربر برنامه
sudo mariadb -e "CREATE DATABASE erp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'erp'@'localhost' IDENTIFIED BY 'رمز-قوی';
GRANT ALL ON erp.* TO 'erp'@'localhost';"۳. تنظیم حافظه
مهمترین تنظیم کارایی InnoDB، innodb_buffer_pool_size است. روی سروری که فقط پایگاه داده اجرا میکند، حدود ۶۰ تا ۷۰ درصد حافظه، و روی سرور مشترک حدود ۲۵ درصد:
sudo nano /etc/mysql/mariadb.conf.d/60-tuning.cnf[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
max_connections = 200
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1sudo systemctl restart mariadb
sudo mariadb -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"۴. کوئریهای کند
sudo tail -f /var/log/mysql/slow.logکوئریهایی که اینجا ظاهر میشوند، معمولاً با یک index مناسب چند ده برابر سریعتر میشوند.
۵. بکاپ بدون قفل
sudo mariadb-dump --single-transaction --routines --triggers erp | gzip > erp-$(date +%F).sql.gz