Linux系统下MySQL5.7用source导入sql遇到的种种问题

来源:互联网 发布:阿里云直播 摄像机 编辑:程序博客网 时间:2024/06/11 12:29

Linux系统下MySQL5.7用source导入areas.sql。


1. 最好先将MySQL的默认字符集永久修改为utf8,否则创建DATABASE默认的字符集是latin,后期很可能出现ERROR 1366(HY000)等等之类的错误。这里的操作可以参考这篇文章:Linux mysql修改默认字符集永久为UTF-8。

2. 由于Linux打开终端默认在家目录(Home文件夹)下操作,因此把areas.sql文件放在家目录下。

3. 创建一个数据库并使用它,代码如下:

CREATE DATABASE imooc;USE imooc;

4. 创建一个数据库。这里注意,由于areas.sql中的语句都是“INSERT booktest_areas VALUES···”,因此创建的数据库名字必须是booktest_areas(否则就会报错),代码如下:

CREATE TABLE booktest_areas(  id INT UNSIGNED PRIMARY KEY,  atitle VARCHAR(100),  pid INT UNSIGNED,  FOREIGN KEY (pid) REFERENCES booktest_areas(id) );

(注:

[1] 这里id类型之所以不设置为SMALLINT是因为areas.sql中的很多数据都是6位数或者更多的数,SMALLINT的存储范围是0到65535,所以不可行。其实应该也可以用MEDIUMINT(存储范围0到16777215),但是担心个别数据异常超出这个范围,所以为了保险起见选了存储范围更大的INT类型;

[2] VARCHAR后面写为100也有类似的原因,有些地区的名字很长,VARCHAR给的参数大一点也是为了保险起见。

)

5. 用source语句导入即可:

source areas.sql
原创粉丝点击