How to Back Up and Restore MySQL Databases with Mysqldump
This instructional exercise discloses how to reinforcement and reestablish MySQL or MariaDB information bases from the order line utilizing the mysqldump utility.
The reinforcement documents made by the mysqldump utility are fundamentally a bunch of SQL articulations that can be utilized to reproduce the first information base. The mysqldump order can likewise create records in CSV and XML design.
You can likewise utilize the mysqldump utility to move your MySQL information base to another MySQL worker.
In the event that you don't reinforcement your information bases, a product bug or a hard-drive disappointment could be tragic. To help save you loads of time and dissatisfaction, it is unequivocally suggested that you avoid potential risk of consistently backing up your MySQL information bases.
Mysqldump Command Syntax
Prior to going into how to utilize the mysqldump order, how about we start by checking on the essential grammar.
The mysqldump utility articulations take the accompanying structure:
mysqldump [options] > file.sql
alternatives - The mysqldump choices
file.sql - The landfill (reinforcement) document
To utilize the mysqldump order the MySQL worker should be open and running.
Backup a Single MySQL Database
The most widely recognized use instance of the mysqldump device is to reinforcement a solitary information base.
For instance, to make a reinforcement of the information base named database_name utilizing the client root and save it to a record named database_name.sql you would run the accompanying order:
mysqldump -u root -p database_name > database_name.sql
You will be incited to enter the root secret key. After effective verification, the landfill cycle will begin. Contingent upon the information base size, the cycle can take some time.
On the off chance that you are signed in as the very client that you are utilizing to play out the fare and that the client doesn't need a secret phrase, you can preclude the - u and - p alternatives:
mysqldump database_name > database_name.sql
Backup Multiple MySQL Databases
To reinforcement various MySQL information bases with one order you need to utilize the - information base alternative followed by the rundown of data sets you need to reinforcement. Every information base name should be isolated by space.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
The order above will make a dump document containing the two information bases.
Backup All MySQL Databases
Utilize the - all-information bases alternative to back up all the MySQL information bases:
mysqldump -u root -p --all-databases > all_databases.sql
Same similarly as with the past model the order above will make a solitary dump document containing all the information bases.
Backup all MySQL databases to separate files
The mysqldump utility doesn't give a choice to reinforcement all information bases to isolate records yet we effectively accomplish that with a basic slam FOR circle :
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
The order above will make a different dump record for every information base utilizing the data set name as the filename.
Create a Compressed MySQL Database Backup
On the off chance that the information base size is enormous it is a smart thought to pack the yield. To do that essentially pipe the yield to the gzip utility, and divert it to a record as demonstrated as follows:
mysqldump database_name | gzip > database_name.sql.gz
Create a Backup with Timestamp
In the event that you need to keep more than one reinforcement in a similar area, at that point you can add the current date to the reinforcement filename:
mysqldump database_name > database_name-$(date +%Y%m%d).sql
The order above will make a document with the accompanying organization database_name-20180617.sql
Restoring a MySQL dump
You can reestablish a MySQL dump utilizing the mysql apparatus. The order general grammar is as per the following:
mysql database_name < file.sql
Much of the time you'll have to make an information base to bring into. In the event that the information base as of now exists, first you need to erase it.
In the accompanying model the primary order will make an information base named database_name and afterward it will import the landfill database_name.sql into it:
mysql -u root -p -e "create database database_name"; mysql -u root -p database_name < database_name.sql
Restore a Single MySQL Database from a Full MySQL Dump
In the event that you upheld up the entirety of your information bases utilizing the - all-data sets choice and you need to reestablish a solitary data set from a reinforcement document which contains various data sets utilize the - one-information base choice as demonstrated as follows:
mysql --one-database database_name < all_databases.sql
Export and Import a MySQL Database in One Command
Rather than making a dump record from one information base and afterward import the reinforcement into another MySQL data set you can utilize the accompanying joke:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
The order above will pipe the yield to a mysql customer on the far off host and it will bring it into an information base named remote_database_name. Prior to running the order, ensure the information base as of now exists on the distant worker.
Automate Backups with Cron
Computerizing the way toward support up the information bases is as straightforward as making a cron work what will run the mysqldump order at indicated time.
To set up computerized reinforcements of a MySQL information base utilizing cronjob, follow the means underneath:
Make a document named .my.cnf in your client home index:
sudo nano ~/.my.cnf
Reorder the accompanying content into the .my.cnf document.
[client] user = dbuser password = dbpasswd
Remember to supplant dbuser and dbpasswdwith the information base client and client's secret word.
Confine consents of the accreditations record with the goal that solitary your client approaches it:
chmod 600 ~/.my.cnf
Make a registry to store the reinforcements:
Open your client crontab record:
Add the accompanying cron work that will make a reinforcement of an information base name mydb consistently at 3am:
0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +\%Y\%m\%d).sql
Remember to supplant username with your genuine client name. We're likewise getting away from the percent-signs (%), on the grounds that they have uncommon significance in crontab.
You can likewise make another cronjob to erase any reinforcements more seasoned than 30 days:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Obviously, you need to change the order as per your reinforcement area and document names. To study the discover order check our How to Find Files in Linux Using the Command Line manage.
This instructional exercise covers just the essentials, however it should be a decent beginning for any individual who needs to figure out how to make and reestablish MySQL information bases from the order line utilizing the mysqldump utility.
On the off chance that you need to study working with MySQL from the order line, investigate our How to oversee MySQL client records and information bases control.
You can likewise check the instructional exercise about how to reset a MySQL root secret key in the event that you have failed to remember it.
In the event that you have any inquiries or input, don't hesitate to leave a remark.
The head order prints the main lines (10 lines as a matter of course) of at least one records or channeled information to standard yield. In...
Use the disguise of mail to send mail through the process of delivery. The method of sending requires three parameters. First parameter is your vie...
Apache Cassandra is a free and open-source NoSQL information base with no single purpose of disappointment. It gives straight adaptability and high...
Rocket.Chat is an open-source group correspondence stage, a self-facilitated Slack other option. It is created utilizing the Meteor system and give...
Apache CouchDB is a free and open-source NoSQL information base created by the Apache Software Foundation. It tends to be utilized as a solitary hu...
Mailman is a finished API advancement climate that causes you deal with your APIs in each phase of improvement from planning and testing, to distri...
VLC is one of the most mainstream open-source interactive media players. It is cross-stage and can play practically all interactive media records j...
Boa constrictor is the most well known Python/R information science and AI stage. It is utilized for huge scope information handling, prescient inv...
On the off chance that you are a framework manager overseeing Linux worker chances are that you may need to allow SFTP admittance to certain client...
Secure Shell (SSH) is a cryptographic organization convention utilized for secure association between a customer and a worker and supports differen...
ownCloud is an open-source, self-facilitated cloud stage for overseeing and sharing records. It very well may be utilized as an option in contrast ...
In this instructional exercise we'll walk you through introducing Plex Media Server on Ubuntu 18.04. Plex is a streaming media worker th...
Mono is a stage for creating and running cross-stage applications dependent on the ECMA/ISO Standards. It is a free and open-source usage of Micros...
In this guide, we're going to cover the Laravel 5 application authentication logout feature. Auth::logout() function removes all information ab...
The sudo order (short for Super-client do) is a program intended to permit clients to execute orders with the security advantages of another client...
In Linux and Unix based frameworks climate factors are a bunch of dynamic named values, put away inside the framework that are utilized by applicat...
Apache Maven is an open-source venture the board and understanding instrument utilized essentially for Java ventures. Expert uses a Project Object ...
The hosts document is utilized to plan space names (hostnames) to IP addresses. It is a plain-text record utilized by all working frameworks includ...
Docker is a containerization innovation that permits you to rapidly construct, test, and convey applications as compact, independent holders that c...