1、MySQL 导出不同类型的表结构
1.1 导出结构不导出数据
mysqldump -h 主机地址 -u root -p 密码 -d 数据库名 > xxx.sql # 加 -d 参数
如果发现加了 -d
参数还是会导出数据,可以把 -d
参数换成 --no-data
1.2 导出数据不导出结构
mysqldump -h 主机地址 -u root -p 密码 -t 数据库名 > xxx.sql
1.3 导出数据和表结构
mysqldump -h 主机地址 -u root -p 密码 数据库名 > xxx.sql # 不加 -d 参数
1.4 导出特定表的结构
多张表(test1,test2,test3)结构及表数据用用空格隔开
mysqldump -h 主机地址 -u root -p 密码 -B 数据库名 --table 表1,表2 > xxx.sql
1.5 可能得报错
报错1
mysqldump: Got error: 1105: [parser:1149]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use when using LOCK TABLES
解决方案是加上 --skip-lock-tables
参数
报错2
Unknown table 'column_statistics' in information_schema (1109)
解决方案是加 --column-statistics=0
参数
2、执行 .sql 文件,导入数据
2.1 方案一:登录 mysql 后使用 source 命令
- use my_test_db # 进入某个数据库
- source xxx/xx/xx.sql
2.2 方案二:直接使用 mysql 命令
shell 直接输入下面的命令
mysql -h 主机地址 -u root -p my_test_db < xxx/xx/xx.sql
3、备份数据库
- mysqldump 数据库名 >数据库备份名
- mysqldump -A -u用户名 -p密码 数据库名>数据库备份名
- mysqldump -d -A --add-drop-table -uroot -p >xxx.sql
4、提示
如果百度或者谷歌搜不到解决方案,不如直接问问 chatgpt,也许它会有解决方案。
5、参考:
mysql mysqldump只导出表结构或只导出数据的实现方法
mysqldump导出报错column_statistics
mysql数据库导入sql文件Mysql导入导出.sql文件的方法
MySQL--mysqldump命令详解 (mysqldump 命令大全)