Monday 6 November 2023

Mysql Best way import and export data using mysql command line in Linux.

Your provided commands demonstrate how to perform a MySQL database dump and import. Here's a breakdown of each command:


1. *Database Dump:*

bash

mysqldump -u DBUSERNAME -p DBPASSWORD DATABSENAME --single-transaction --quick | ionice -c2 -n 7 tee > test.sql


Explanation:

- `mysqldump`: This command is used to create a backup of a MySQL database.

- `-u DBUSERNAME`: Specifies the username to connect to the MySQL server.

- `-p DBPASSWORD`: Prompts for the password of the MySQL user specified by the `-u` option.

- `DATABSENAME`: Specifies the name of the database to dump.

- `--single-transaction`: Ensures that the entire dump is made in a single transaction, ensuring data consistency.

- `--quick`: This option is used for quicker dumping of the data by retrieving rows from the server a row at a time rather than retrieving the entire result set at once.

- `| ionice -c2 -n 7 tee > test.sql`: Pipes the output of `mysqldump` to `ionice` and `tee`. `ionice` is used to set the I/O priority of the process, and `tee` is used to redirect the output to both the terminal and a file named `test.sql`.


2. *Database Import:*

bash

ionice -c 2 -n 7 mysql -u DBUSERNAME -p DATABSENAME < /home/jaydip/Downloads/database/test.sql


Explanation:

- `ionice -c 2 -n 7`: Sets the I/O priority of the subsequent command.

- `mysql`: This command is used to import SQL files into a MySQL database.

- `-u DBUSERNAME`: Specifies the username to connect to the MySQL server.

- `-p DATABSENAME`: Prompts for the password of the MySQL user specified by the `-u` option.

- `< /home/jaydip/Downloads/database/test.sql`: Redirects the contents of the `test.sql` file to the `mysql` command, which then executes the SQL commands to import the data into the specified database.


These commands should effectively create a dump of your MySQL database into the `test.sql` file and then import that dump back into the database specified by `DATABSENAME`. Make sure to replace `DBUSERNAME`, `DBPASSWORD`, and `DATABSENAME` with the appropriate values for your MySQL setup.

No comments:

Post a Comment

Thank You For Comment