Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Bagaimana untuk membuat sandaran dan memulihkan pangkalan data pada Linux
Cara Menyandarkan dan Memulihkan Pangkalan Data pada Linux
Dalam sistem pengendalian Linux, membuat sandaran dan memulihkan pangkalan data adalah tugas yang sangat penting. Sama ada untuk mengelakkan kehilangan data atau untuk memindahkan pangkalan data, anda perlu menguasai kemahiran ini. Artikel ini akan memperkenalkan cara membuat sandaran dan memulihkan pangkalan data pada Linux dan memberikan contoh kod yang sepadan.
1. Sandarkan pangkalan data
MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka Anda boleh menggunakan arahan mysqldump untuk membuat sandaran pangkalan data MySQL. Seperti yang ditunjukkan di bawah:
mysqldump -u <username> -p<password> <database_name> > <backup_file.sql>
Di mana, 62df6b318c6134012860f5ebb4051760
ialah nama pengguna pangkalan data, 5594e1c8b6d9525f9f329ee89f90fa86
ialah kata laluan pangkalan data, ec43687d8ea37101b2a589694248ed68 ialah nama pangkalan data yang akan disandarkan, <code>0d961a72f705c85f286562928e09463c
ialah laluan dan nama fail bagi fail sandaran. Sebagai contoh, untuk menyandarkan pangkalan data bernama "mydb", anda boleh melaksanakan arahan berikut: d6025a37ea8687b5422f951f7288bdc5
是数据库的用户名,cb1ebc435675187bdcfb539b370c2e37
是数据库的密码,6b7267f525327f2a23dcb01791a146aa
是要备份的数据库名称,0d961a72f705c85f286562928e09463c
是备份文件的路径及文件名。例如,要备份名为"mydb"的数据库,可以执行以下命令:
mysqldump -u root -p123456 mydb > /backup/mydb_backup.sql
类似地,备份PostgreSQL数据库可以使用pg_dump命令。如下所示:
pg_dump -U <username> -W -Ft <database_name> -f <backup_file.tar>
其中,d6025a37ea8687b5422f951f7288bdc5
是数据库的用户名,6b7267f525327f2a23dcb01791a146aa
是要备份的数据库名称,1c92970fa88b6759818996c6c108bcd5
是备份文件的路径及文件名。例如,要备份名为"mydb"的数据库,可以执行以下命令:
pg_dump -U postgres -W -Ft mydb -f /backup/mydb_backup.tar
二、还原数据库
要还原MySQL数据库,可以使用以下命令:
mysql -u <username> -p<password> <database_name> < <backup_file.sql>
其中,d6025a37ea8687b5422f951f7288bdc5
是数据库的用户名,cb1ebc435675187bdcfb539b370c2e37
是数据库的密码,6b7267f525327f2a23dcb01791a146aa
是要还原的数据库名称,0d961a72f705c85f286562928e09463c
是备份文件的路径及文件名。例如,要将备份文件"mydb_backup.sql"还原到名为"mydb"的数据库中,可以执行以下命令:
mysql -u root -p123456 mydb < /backup/mydb_backup.sql
要还原PostgreSQL数据库,可以使用以下命令:
pg_restore -U <username> -d <database_name> <backup_file.tar>
其中,d6025a37ea8687b5422f951f7288bdc5
是数据库的用户名,6b7267f525327f2a23dcb01791a146aa
是要还原的数据库名称,1c92970fa88b6759818996c6c108bcd5
pg_restore -U postgres -d mydb /backup/mydb_backup.tar
Begitu juga, anda boleh menggunakan perintah pg_dump untuk menyandarkan pangkalan data PostgreSQL. Seperti yang ditunjukkan di bawah:
#!/bin/bash #数据库备份路径 backup_dir="/backup" #数据库用户名 username="root" #数据库密码 password="123456" #需要备份的数据库名称 database_name="mydb" #备份文件名 backup_file="${backup_dir}/${database_name}_backup_$(date +%Y%m%d%H%M%S).sql" #执行备份命令 mysqldump -u ${username} -p${password} ${database_name} > ${backup_file} #删除过期备份(保留最近7天的备份) find ${backup_dir} -name "${database_name}_backup_*" -type f -mtime +7 -exec rm -f {} ;
Di mana, d6025a37ea8687b5422f951f7288bdc5
ialah nama pengguna pangkalan data, 6b7267f525327f2a23dcb01791a146aa
ialah nama pangkalan data yang akan disandarkan, d7343ce59b1494947cea45b4b2f64233
ialah laluan dan nama fail bagi fail sandaran. Sebagai contoh, untuk membuat sandaran pangkalan data bernama "mydb", anda boleh melaksanakan arahan berikut:
crontab -e
2. Pulihkan pangkalan data
Pulihkan pangkalan data MySQLUntuk memulihkan pangkalan data MySQL, anda boleh menggunakan arahan berikut:
0 2 * * * /bin/bash /path/to/backup.sh
Di mana, d6025a37ea8687b5422f951f7288bdc5
ialah nama pengguna pangkalan data, cb1ebc435675187bdcfb539b370c2e37
ialah kata laluan pangkalan data, 6b7267f525327f2a23dcb01791a146aa code> ialah nama pangkalan data yang akan dipulihkan, 0d961a72f705c85f286562928e09463c
ialah laluan dan nama fail bagi fail sandaran. Sebagai contoh, untuk memulihkan fail sandaran "mydb_backup.sql" ke pangkalan data bernama "mydb", anda boleh melaksanakan arahan berikut:
62df6b318c6134012860f5ebb4051760
ialah nama pengguna pangkalan data, 6b7267f525327f2a23dcb01791a146aa
ialah nama pangkalan data untuk dipulihkan, d7343ce59b1494947cea45b4b2f64233
ialah laluan dan nama fail bagi fail sandaran. Sebagai contoh, untuk memulihkan fail sandaran "mydb_backup.tar" ke pangkalan data bernama "mydb", anda boleh melaksanakan arahan berikut: 🎜rrreee🎜 3. Sandarkan pangkalan data dengan kerap 🎜🎜 Membuat sandaran pangkalan data secara kerap boleh memastikan keselamatan dan integriti data. Dengan menulis skrip Shell dan menggunakan tugas berjadual crontab, anda boleh menyandarkan pangkalan data secara automatik. 🎜🎜Berikut ialah contoh skrip sandaran mudah: 🎜rrreee🎜Simpan skrip di atas sebagai backup.sh dan tambahkan kebenaran boleh laku. 🎜🎜Seterusnya, gunakan crontab untuk menambah tugasan berjadual: 🎜rrreee🎜Dalam fail yang dibuka, tambah kandungan berikut untuk menunjukkan bahawa tugasan sandaran akan dilaksanakan pada jam 2 pagi setiap hari: 🎜rrreee🎜Simpan dan keluar. 🎜🎜Dengan kaedah di atas, anda boleh membuat sandaran dan memulihkan pangkalan data dengan mudah di Linux dan melakukan tugas sandaran dengan kerap. Memastikan keselamatan dan integriti pangkalan data adalah salah satu langkah penting untuk memastikan data tidak hilang. 🎜Atas ialah kandungan terperinci Bagaimana untuk membuat sandaran dan memulihkan pangkalan data pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!