دستورات دیتابیس و بکاپ

MySQL، PostgreSQL، Redis، MongoDB و بکاپ‌گیری — 22 دستور.

راهنماهای گام‌به‌گام

بکاپ گرفتن از MySQL با mysqldump (کامل و مرحله‌به‌مرحله)بکاپ منطقی از یک یا همهٔ دیتابیس‌ها، بکاپ فشرده با تاریخ، فقط ساختار، یک جدول و بررسی سالم بودن بکاپ.بکاپ خودکار روزانه از MySQL با cron و حذف بکاپ‌های قدیمیاسکریپت آمادهٔ بکاپ با چرخش (rotation)، زمان‌بندی با cron، ثبت لاگ و کپی بکاپ روی سرور دیگر.ریستور و انتقال دیتابیس MySQL به سرور جدیدبازگرداندن بکاپ، انتقال مستقیم دیتابیس بین دو سرور با SSH، رفع خطاهای رایج DEFINER و charset و بررسی نهایی.ساخت کاربر و تنظیم دسترسی در MySQL (شامل کاربر بکاپ)ساخت کاربر برنامه با حداقل دسترسی، کاربر مخصوص بکاپ، مجاز کردن اتصال از راه دور و تغییر یا حذف کاربر.بکاپ و ریستور MySQL داخل Docker و Docker Composeگرفتن mysqldump از کانتینر MySQL، ریستور، بکاپ volume و زمان‌بندی خودکار برای دیتابیسی که با Docker اجرا می‌شود.بازیابی MySQL تا لحظهٔ دلخواه با binlogفعال‌سازی لاگ باینری و بازگرداندن دیتابیس تا لحظه‌ای قبل از یک DELETE یا DROP اشتباهی.کانفیگ پایه my.cnf برای MySQL روی سرور کوچکتنظیم innodb_buffer_pool_size، تعداد اتصال‌ها، charset و لاگ کوئری‌های کند برای عملکرد بهتر.بکاپ گرفتن از PostgreSQL با pg_dump و pg_dumpallبکاپ متنی و فرمت custom، بکاپ موازی دیتابیس بزرگ، بکاپ نقش‌ها و اتصال بدون رمز با pgpass.بکاپ خودکار PostgreSQL با اسکریپت، cron و حذف بکاپ‌های قدیمیاسکریپت آمادهٔ بکاپ روزانه با pg_dump به فرمت custom، چرخش بکاپ‌ها و ارسال به سرور دیگر.ریستور PostgreSQL و انتقال دیتابیس به سرور جدیدبازگرداندن بکاپ با pg_restore و psql، انتقال کاربران، ریستور موازی و رفع خطاهای رایج مالکیت و extension.بکاپ گرفتن از Redis و MongoDBگرفتن snapshot از Redis (RDB و AOF)، بکاپ فشرده از MongoDB با mongodump و ریستور آن‌ها.اسکریپت بکاپ کامل سایت: فایل و دیتابیساسکریپت آمادهٔ bash که پوشهٔ سایت و دیتابیس MySQL را فشرده می‌کند، بکاپ‌های قدیمی را پاک می‌کند و روی سرور دیگر می‌فرستد.

mysqldump

بکاپ‌گیری منطقی از MySQL و MariaDB

با احتیاط
mysqldump -u root -p appdb > appdb.sql

mysqladmin

مدیریت سرور MySQL از خط فرمان

با احتیاط
mysqladmin -u root -p status
mysqlmonitoring
توضیح بیشتر

mysqlcheck

بررسی، تعمیر و بهینه‌سازی جدول‌های MySQL

با احتیاط
mysqlcheck -u root -p --all-databases
mysqlmaintenance
توضیح بیشتر

mysqlimport

بارگذاری سریع فایل‌های متنی داخل جدول

با احتیاط
mysqlimport -u root -p --local appdb /tmp/users.txt

mysql_secure_installation

امن‌سازی اولیهٔ MySQL بعد از نصب

با احتیاط
sudo mysql_secure_installation

mysqlbinlog

خواندن لاگ باینری MySQL و بازیابی نقطه‌ای

با احتیاط
mysqlbinlog /var/lib/mysql/binlog.000001 | less

xtrabackup

بکاپ فیزیکی و سریع از MySQL (Percona)

با احتیاط
xtrabackup --backup --user=root --password --target-dir=/backups/full

pg_dump

بکاپ‌گیری از یک دیتابیس PostgreSQL

با احتیاط
pg_dump -U postgres appdb > appdb.sql
postgresbackup
توضیح بیشتر

pg_dumpall

بکاپ از همهٔ دیتابیس‌ها و نقش‌های PostgreSQL

با احتیاط
pg_dumpall -U postgres > all.sql
postgresbackup
توضیح بیشتر

pg_restore

بازگردانی بکاپ‌های PostgreSQL

خطرناک
pg_restore -U postgres -d appdb appdb.dump
postgresrestore
توضیح بیشتر

pg_basebackup

بکاپ فیزیکی کامل از PostgreSQL

با احتیاط
pg_basebackup -h 127.0.0.1 -U replicator -D /backups/base -Ft -z -P
postgresreplication
توضیح بیشتر

createdb

ساخت دیتابیس PostgreSQL

ایمن
createdb -U postgres appdb

dropdb

حذف دیتابیس PostgreSQL

خطرناک
dropdb -U postgres testdb

createuser

ساخت کاربر PostgreSQL

با احتیاط
createuser -U postgres --interactive app
postgressecurity
توضیح بیشتر

pg_isready

بررسی آماده بودن سرور PostgreSQL

ایمن
pg_isready
postgresmonitoring
توضیح بیشتر

redis-cli

کلاینت خط فرمان Redis

با احتیاط
redis-cli

mongodump

بکاپ‌گیری از MongoDB

با احتیاط
mongodump --db appdb --out /backups/mongo

mongorestore

بازگردانی بکاپ MongoDB

خطرناک
mongorestore --db appdb /backups/mongo/appdb
mongodbrestore
توضیح بیشتر

mongoexport

خروجی JSON یا CSV از MongoDB

ایمن
mongoexport --db appdb --collection users --out users.json

mongoimport

ورود JSON یا CSV به MongoDB

با احتیاط
mongoimport --db appdb --collection users --file users.json --jsonArray

sqlite3

شل و ابزار خط فرمان SQLite

با احتیاط
sqlite3 app.db