Referencia del artículo:
https://www.cnblogs.com/markLogZhu/p/11398028.html
https://www.cnblogs.com/chenmh/p/5300370.html
1. Descripción del comando
1.1 Formato de comando común
mysqldump -u -p --databases 数据库名 > 脚本名 #备份指定数据库
mysqldump -u -p --all-databases > 脚本名 #备份所有数据库
mysqldump -u -p --databases 数据库名 --tables 表名 > 脚本名 #备份指定表
1.2 Descripción de parámetros
nombre del parámetro | abreviatura | sentido |
---|---|---|
-anfitrión | -h | Dirección IP del servidor |
-Puerto | -PAG | Número de puerto del servidor |
-usuario | -u | Nombre de usuario de MySQL |
–Contraseña | -pag | Contraseña de MySQL |
–Base de datos | Especifique la base de datos a respaldar | |
–Todas-las-bases de datos | Haga una copia de seguridad de todas las bases de datos en el servidor mysql | |
-compacto | -C | Modo comprimido, que produce menos salida |
-sin datos | No exporte datos, solo exporte la estructura de la tabla | |
–Comentarios | Agregar información de comentarios | |
–Inserto-completo | Salida de declaración de inserción completa | |
–Mesa-bloqueo | Antes de la copia de seguridad, bloquee todas las tablas de la base de datos | |
–No-create-db / –no-create-info | Prohibir generar declaración de creación de base de datos | |
-fuerza | Continuar con la operación de respaldo cuando ocurre un error | |
–Conjunto-de-caracteres-predeterminado | Especificar el juego de caracteres predeterminado | |
–Add-locks | Bloquear la tabla de la base de datos al hacer una copia de seguridad de la tabla de la base de datos |
Dos, exporta la instancia
2.1 Exportar todas las bases de datos
Este comando exportará todas las bases de datos, incluidas las bases de datos del sistema.
mysqldump -uroot -proot --all-databases > backup/all.sql
2.2 Exportar todos los datos de las dos bases de datos db1 y db2
Use un espacio para separar las dos bases de datos
mysqldump -uroot -proot --databases db1 db2 > backup/two_db.sql
2.3 Exportar tablas tab1 y tab2 en db1
mysqldump -uroot -proot --databases db1 --tables tab1 tab2 > backup/two_tables.sql
Nota: La tabla especificada de exportación solo se puede exportar para una base de datos, y el contenido de la tabla exportada es diferente del de la base de datos exportada. No hay una sentencia de juicio para crear una base de datos en el texto de exportación de la tabla especificada de exportación, solo eliminar la tabla -creación de datos de importación de tabla y propiedad de la tabla de exportación. Vea abajo:
Si no desea tener una declaración para crear una base de datos, puede agregar un parámetro: -no-create-info
2.4 Exportar los datos de la tabla tab1 id = 1 en db1
Campo entero:
mysqldump -uroot -proot --databases db1 --tables tab1 --where='id=1' > backup/tab1.sql
Campo de cadena:
mysqldump -uroot -proot --databases db1 --tables tab1 --where="name='a'" > backup/tab1.sql
2.5 Exportar solo la estructura de la tabla sin exportar datos
mysqldump -uroot -proot --no-data --databases db1 > backup/db1.sql
2.6 Exportar datos a través de servidores
mysqldump --host=192.168.43.1 -uroot -proot --databases db1 | mysql --host=192.168.43.2 -uroot -proot db2
La ip es 192.168.43.1 toda la base de datos del servidor de datos db1 importada a la ip es 192.168.43.2 servidor de la base de datos db2, la base de datos db2 debe existir, de lo contrario, se producirá un error
mysqldump --host=192.168.43.1 -uroot -proot -C --databases db1 | mysql --host=192.168.43.2 -uroot -proot db2
También puede agregar el parámetro -C para comprimir y transferir para acelerar la transferencia
Tres, ejemplos de importación
3.1 Importación de la línea de comandos del sistema
mysqladmin -uroot -p create db1
mysql -uroot -p db1 < /backup/db1.sql
Nota: Antes de importar la base de datos de respaldo, si db1 no existe, es necesario crearla; y el nombre de la base de datos es el mismo que el nombre de la base de datos escrito en el archivo db1.sql antes de que se pueda importar.
3.2 Importar a mysql
mysql > use db1
mysql > source /backup/db1.sql