Kif tagħmel backup u Restore MySQL/MariaDB Databases fil-Linux


Dan l-artikolu jurik diversi eżempji prattiċi dwar kif twettaq diversi operazzjonijiet ta 'backup ta' databases MySQL/MariaDB billi tuża l-kmand mysqldump u wkoll se naraw kif tirrestawrahom bl-għajnuna tal-kmand mysql u mysqlimport f'Linux.

mysqldump huwa programm tal-klijent tal-linja tal-kmand, huwa użat biex jitfa 'databases MySQL lokali jew remoti jew kollezzjonijiet ta' databases għal backup f'fajl ċatt wieħed.

Aħna nassumu li diġà għandek MySQL installat fis-sistema Linux bi privileġġi amministrattivi u nemmnu li diġà għandek ammont żgħir ta 'għarfien ta' MySQL.

Jekk m'għandekx MySQL installat jew m'għandekx espożizzjoni għal MySQL imbagħad aqra l-artikoli tagħna hawn taħt.

  • Kif Tinstalla MySQL fuq Distribuzzjonijiet ibbażati fuq RHEL
  • Kif Tinstalla MySQL fuq Rocky Linux u AlmaLinux
  • Kif Tinstalla MySQL f'Ubuntu Linux
  • Kif Tinstalla MySQL fuq Debian
  • 20 Kmandi MySQL (Mysqladmin) għall-Amministrazzjoni ta' Database fil-Linux
  • 12 MySQL/MariaDB Sigurtà Aħjar Prattiki għal Linux

Kif tagħmel backup MySQL Database fil-Linux?

Biex tieħu backup tad-databases jew databases MySQL, id-database trid teżisti fis-server tad-database u jrid ikollok aċċess għaliha. Il-format tal-kmand ikun.

# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

Il-parametri tal-kmand imsemmi huma kif ġej.

  • [username] : Isem tal-utent MySQL validu.
  • [password] : Password MySQL valida għall-utent.
  • [database_name] : Isem ta' Database validu li trid tieħu backup.
  • [dump_file.sql]: L-isem tal-fajl tad-dump backup li trid tiġġenera.

Biex tieħu backup ta 'database waħda, uża l-kmand kif ġej. Il-kmand se jitfa' l-istruttura tad-database [rsyslog] b'data fuq fajl wieħed ta' dump imsejjaħ rsyslog.sql.

# mysqldump -u root -ptecmint rsyslog > rsyslog.sql

Jekk trid tieħu backup ta 'databases multipli, mexxi l-kmand li ġej. L-eżempju ta' kmand li ġej jieħu backup tad-databases [rsyslog, syslog] struttura u data f'fajl wieħed imsejjaħ rsyslog_syslog.sql.

# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

Jekk trid tieħu backup tad-databases kollha, imbagħad uża l-kmand li ġej bl-għażla –all-database. Il-kmand li ġej jieħu l-backup tad-databases kollha bl-istruttura u d-dejta tagħhom f'fajl imsejjaħ all-databases.sql.

# mysqldump -u root -ptecmint --all-databases > all-databases.sql

Jekk trid biss il-backup tal-istruttura tad-database mingħajr data, imbagħad uża l-għażla –no-data fil-kmand. Il-kmand ta' hawn taħt jesporta l-istruttura tad-database [rsyslog] f'fajl rsyslog_structure.sql.

# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

Biex tagħmel backup tad-database tad-dejta mingħajr struttura, uża l-għażla –no-create-info mal-kmand. Dan il-kmand jieħu d-database [rsyslog] Data f'fajl rsyslog_data.sql.

# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

Bil-kmand hawn taħt tista 'tieħu backup ta' tabella waħda jew tabelli speċifiċi tad-database tiegħek. Pereżempju, il-kmand li ġej jieħu biss backup tat-tabella wp_posts mid-database wordpress.

# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

Jekk trid tieħu backup ta 'tabelli multipli jew ċerti mid-database, imbagħad issepara kull tabella bi spazju.

# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

Il-kmand t'hawn taħt jieħu l-backup tas-server remot [172.16.25.126] database [gallerija] f'server lokali.

# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

Kif Restore MySQL Database?

Fit-tutorja ta 'hawn fuq, rajna kif tieħu l-backup ta' databases, tabelli, strutturi, u data biss, issa se naraw kif tirrestawrahom billi tuża l-format li ġej.

# # mysql -u [username] –p[password] [database_name] < [dump_file.sql]

Biex tirrestawra database, trid toħloq database vojta fuq il-magna fil-mira u tirrestawra d-database billi tuża kmand msyql. Pereżempju, il-kmand li ġej se jirrestawra l-fajl rsyslog.sql fid-database rsyslog.

# mysql -u root -ptecmint rsyslog < rsyslog.sql

Jekk trid tirrestawra database li diġà teżisti fuq il-magna mmirata, allura jkollok bżonn tuża l-kmand mysqlimport.

# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

Bl-istess mod, tista 'wkoll tirrestawra t-tabelli tad-database, l-istrutturi u d-dejta. Jekk għoġbok dan l-artikolu, allura aqsamha mal-ħbieb tiegħek.