Saat bekerja dengan MySQL, Anda mungkin perlu membuat cadangan dan memulihkan database MySQL secara teratur. Ini membantu pemulihan jika terjadi kecelakaan. Inilah cara Anda dapat mencadangkan dan memulihkan database MySQL.
mysqldump adalah cara mudah untuk membuat cadangan database MySQL. Itu datang dibundel bersama dengan file pengaturan MySQL. Itu diinstal di komputer Anda ketika Anda menginstal MySQL. Itu membuat file *.sql dengan DROP table , BUAT tabel dan MASUKKAN ke Pernyataan SQL dari database Anda. Untuk memulihkan database MySQL, jalankan file *.sql pada database tujuan.
Anda dapat menggunakan mysqldump untuk membuat cadangan database tunggal atau ganda. Anda bahkan dapat membuat cadangan tabel tertentu dalam database.
Berikut sintaks perintah untuk membuat cadangan dan memulihkan database MySQL:
backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
Cara Mencadangkan database MySQL
1. Cadangkan satu basis data:
Katakanlah Anda menginginkan cadangan database sample_db. Misalnya, kata sandi root Anda adalah 'passwd'
# mysqldump -u root -ppasswd sample_db > sample_db.sql
Perintah ini mengambil backup dan membuang output database di sample_db.sql. Sales_db.sql akan berisi drop table, create table dan perintah insert untuk semua tabel di database sales_db. Berikut ini adalah sebagian output dari sales_db.sql, yang menunjukkan informasi dump:
-- -- Table structure for table `user_table` -- DROP TABLE IF EXISTS `user_table`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `user_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(75) DEFAULT NULL, `email` varchar(75) NOT NULL, `password` varchar(128) NOT NULL, `date_joined` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `user_table` -- LOCK TABLES `user_table` WRITE; /*!40000 ALTER TABLE `user_table` DISABLE KEYS */; INSERT INTO `user_table` VALUES (1,'test_user','[email protected]','sha1$96e28$effdf3bfe8d0477','2012-12-12 23:17:10'),(7,'[email protected]','[email protected]','sha1$5e05960cede8','2013-02-05 14:56:04'),(8,'[email protected]','[email protected]','sha1$c2497b6420379ac76','2013-02-05 14:57:01'); /*!40000 ALTER TABLE `user_table` ENABLE KEYS */; UNLOCK TABLES;
2. Cadangkan beberapa basis data:
Pilih database yang ingin Anda backup. Inilah cara Anda mendapatkan daftar semua database:
# mysql -u root -ppasswd mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | sample_db | | mysql | | sample_sales_db | +--------------------+ 4 rows in set (0.00 sec)
Katakanlah, Anda ingin mengambil cadangan database sample_db dan sample_sales_db. Jalankan mysqldump seperti yang ditunjukkan:
# mysqldump -u root -ppasswd --databases sample_db sample_sales_db > multi_databases.sql
3. Cadangkan semua database:
Inilah cara Anda mencadangkan semua database instance MySQL Anda.
# mysqldump -u root -ppasswd --all-databases > all-database.sql
4. Cadangkan tabel tertentu:
Katakanlah kita hanya ingin membuat cadangan tabel user_table dari database sample_db.
# mysqldump -u root -ppasswd sample_db user_table > sample_db_user_table.sql
Cara Mengembalikan database MySQL
Untuk mengembalikan database sample_db, jalankan mysql dengan