1. mysqldump导出为sql文件
mysqldump 数据库名 --host=主机 --port=端口 -u用户名 -p密码 --where="过滤条件" --tables 数据表 > 导出文件路径.sql
示例:
mysqldump mydb --host=127.0.0.1 --port=3306 -uroot -p123456 --where="id = 1" --tables mytable1 > G:\test\mytable1.sql
其他参数:
导出所有库:--all-databases
导出选定库:--databases db1 db2
2. 导入sql文件到数据库
- 登录到mysql中,使用source
use 数据库名;
source 文件路径.sql;
示例:
use mydb2;
source G:/test/mysql/mytable1.sql;
- 使用mysql命令
mysql --host=主机 --port=端口 -u用户名 -p密码 数据库名 < 文件路径.sql
示例:
mysql --host=127.0.0.1 --port=3306 -uroot -p123456 mydb2 < G:/test/mysql/mytable1.sql
注意编码问题:set names utf8;
3. (直达)mysqldump直接导出到另外一个数据库
mysqldump 数据库名 --host=主机 --port=端口 -u用户名 -p密码 --where="过滤条件" --tables 数据表 | mysql --host=主机 --port=端口 -u用户名 -p密码 目标数据库名
示例:
mysqldump mydb --host=127.0.0.1 --port=3306 -uroot -p123456 --where="id = 1" --tables mytable1 | mysql --host=127.0.0.1 --port=3306 -uroot -p123456 mydb2
4. 常见问题处理
- mysqldump报错:
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
解决方法:
方法1. 添加参数
--column-statistics=0
方法2. 修改mysql配置文件,添加全局配置:
[mysqldump]
column-statistics=0
-
中文乱码问题
解决方法:添加指定字符集参数,比如,utf8、gbk
--default-character-set=gbk