无论是window系统还是linux系统上面的mysql数据库,命令行导入方式基本一直:
1.window:
1).打开命令窗口
2).输入密码:
3).选择数据库,导入数据:use 数据库; source sql路径;
需要注意的点:
输入“source sql文件的路径”(注意你的文件路径要是复制来的,要将"\"全部换成“/”,并且中文路径可能会有问题)
2.linux的导入基本一致:
1). mysql -uroot -p 登录进mysql命令行
2). use 数据库(目标数据库)
3).source sql路径
3.遇到的问题:
1).导入出现中文乱码:在source之前执行 set names utf8;
use nhdb;
set names utf8;
source d:\test.sql (注意,这里没有分号; 加了分号后报错,不加分号就能导入成功)
2).数据丢失:查了半天发现,sql的insert 语句的数据库表名有些是大写的表名,而且恰好是这些大写表名的数据丢失
原因:mysql在windows系统下安装好后,默认是对表名大小写不敏感的,但是在linux下,一些系统需要手动设置:
用root登录,打开并修改 /etc/my.cnf;在[mysqld]节点下,加入一行: lower_case_table_names=1。重启mysql服务 systemctl restart mysqld