The mysqldump
command in MySQL is used to create backups of MySQL databases. When dealing with sensitive data, securing data transmission over networks becomes crucial. The option --ssl-cipher=name
allows configuring the SSL cipher used during the dump process, ensuring secure communication between the client and server.
Here are several examples demonstrating the usage of --ssl-cipher=name
in mysqldump:
Example 1: Dump a database using a specific SSL cipher:
mysqldump --ssl-cipher=AES128-SHA database_name > backup.sql
This command dumps the database database_name
using the SSL cipher AES128-SHA
and saves the output to backup.sql
.
Example 2: Dump all databases using a different SSL cipher:
mysqldump --ssl-cipher=DHE-RSA-AES256-SHA --all-databases > alldatabases_backup.sql
This command dumps all databases using the SSL cipher DHE-RSA-AES256-SHA
and stores the dump in alldatabases_backup.sql
.
Example 3: Dump a specific table with a custom SSL cipher:
mysqldump --ssl-cipher=ECDHE-RSA-AES128-GCM-SHA256 database_name table_name > table_backup.sql
Here, table_name
from database_name
is dumped using ECDHE-RSA-AES128-GCM-SHA256
cipher, saved in table_backup.sql
.
Example 4: Use a different SSL cipher with compression:
mysqldump --ssl-cipher=AES256-SHA --compress database_name > backup.sql.gz
This command compresses the dump of database_name
using SSL cipher AES256-SHA
and saves it as backup.sql.gz
.
Example 5: Dump a database with SSL cipher and specify username:
mysqldump --ssl-cipher=DHE-RSA-AES128-SHA --user=username database_name > backup.sql
This command dumps database_name
using SSL cipher DHE-RSA-AES128-SHA
with the specified username
and saves it as backup.sql
.
Example 6: Dump a database using a secure SSL cipher:
mysqldump --ssl-cipher=AES256-GCM-SHA384 database_name > backup.sql
This command securely dumps database_name
using SSL cipher AES256-GCM-SHA384
and saves it as backup.sql
.
Example 7: Dump a database with SSL cipher and include create database statements:
mysqldump --ssl-cipher=AES128-SHA --databases database_name > backup.sql
This command includes SSL cipher AES128-SHA
when dumping database_name
, along with create database statements saved in backup.sql
.
Example 8: Dump all databases with SSL cipher and skip extended-inserts:
mysqldump --ssl-cipher=DHE-RSA-AES256-SHA --skip-extended-insert --all-databases > alldatabases_backup.sql
This command dumps all databases using SSL cipher DHE-RSA-AES256-SHA
, skipping extended-inserts, stored in alldatabases_backup.sql
.
Example 9: Dump a database with SSL cipher and specify a port:
mysqldump --ssl-cipher=AES256-SHA --port=3307 database_name > backup.sql
This command dumps database_name
using SSL cipher AES256-SHA
on port 3307, saving the result in backup.sql
.
Example 10: Dump a database using a custom SSL cipher and specify socket:
mysqldump --ssl-cipher=ECDHE-RSA-AES256-SHA384 --socket=/path/to/mysql.sock database_name > backup.sql
This command dumps database_name
using SSL cipher ECDHE-RSA-AES256-SHA384
via a specific socket path, storing the result in backup.sql
.
To verify that the mysqldump command executed successfully, you can check the content of the generated backup files (backup.sql
, alldatabases_backup.sql
, etc.) using a text editor or by importing them back into a MySQL server to ensure data integrity and correctness.
Also check similar articles.
Setting X509 Cert for SSL in mysqldump
Setting CA Directory for SSL in mysqldump
Setting CA File for SSL in mysqldump
Configuring SSL Connection Mode in mysqldump
Retrieving Server Public Key in mysqldump
Discussion about this post