mysql数据库迁移 2025-03-04 07:44 0 条回复 在MySQL中,快速导出和导入数据库可以使用以下命令: ### 1. 导出数据库 #### 导出整个数据库 ```bash mysqldump -u 用户名 -p 数据库名 > 导出文件名.sql ``` - `用户名`:你的MySQL用户名。 - `数据库名`:要导出的数据库名称。 - `导出文件名.sql`:导出的SQL文件名称。 #### 导出特定表 ```bash mysqldump -u 用户名 -p 数据库名 表名 > 导出文件名.sql ``` - `表名`:要导出的表名称。 #### 导出数据库结构(不含数据) ```bash mysqldump -u 用户名 -p --no-data 数据库名 > 导出文件名.sql ``` #### 导出数据库数据(不含结构) ```bash mysqldump -u 用户名 -p --no-create-info 数据库名 > 导出文件名.sql ``` ### 2. 导入数据库 #### 导入整个数据库 ```bash mysql -u 用户名 -p 数据库名 < 导入文件名.sql ``` - `导入文件名.sql`:要导入的SQL文件名称。 #### 导入特定表 ```bash mysql -u 用户名 -p 数据库名 < 表名.sql ``` - `表名.sql`:要导入的表的SQL文件名称。 ### 3. 其他常用选项 - **压缩导出文件**: ```bash mysqldump -u 用户名 -p 数据库名 | gzip > 导出文件名.sql.gz ``` - **解压并导入**: ```bash gunzip < 导出文件名.sql.gz | mysql -u 用户名 -p 数据库名 ``` - **导出时忽略某些表**: ```bash mysqldump -u 用户名 -p 数据库名 --ignore-table=数据库名.表名 > 导出文件名.sql ``` - **导出时添加锁表选项**: ```bash mysqldump -u 用户名 -p --lock-tables 数据库名 > 导出文件名.sql ``` ### 4. 示例 #### 导出整个数据库 ```bash mysqldump -u root -p mydatabase > mydatabase_backup.sql ``` #### 导入整个数据库 ```bash mysql -u root -p mydatabase < mydatabase_backup.sql ``` #### 导出特定表 ```bash mysqldump -u root -p mydatabase mytable > mytable_backup.sql ``` #### 导入特定表 ```bash mysql -u root -p mydatabase < mytable_backup.sql ``` ### 5. 注意事项 - 确保你有足够的权限执行导出和导入操作。 - 导入时,目标数据库必须已经存在。如果不存在,需要先创建数据库: ```sql CREATE DATABASE 数据库名; ``` 通过这些命令,你可以快速导出和导入MySQL数据库。