在实际工作中,有时经常地时行mysql数据库的导入和导入操作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!
创新互联公司专注于企业全网营销推广、网站重做改版、安康网站定制设计、自适应品牌网站建设、H5建站、商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为安康等各大城市提供网站开发制作服务。
比较好的办法仍是用mysql的source命令:
一、在客户端下操作:
1、进行入客户端
2、mysqluse
数据库名(如果没有,先建一个)
3、mysqlset
names
'utf8';
(一般看导入的是什么格式的文件)
4、mysqlsource
d:\aaa.sql;
即可正常导入,如果有错,可以看出错提示
二、PHP文件操作:
建立a.php
里面有下面内容
mysql_connet('xxxx');
mysql_query("set
names
'utf8'");
mysql_query("source
d:\aaa.sql'");
原理同上,主要方便了无法使用命令行用户的操作
第一步:打在开始界面中找到mysql
第二步:双击打开mysql软件。,并输入密码。
第三步:如果sql文件的内容中有创建数据库的语句或者你想将表存放在你已有的数据库,在这里就不用创建数据库。
第四步:输入“show databases;”就能看到自己创建的数据库。
第五步:输入“use 数据库名”,开始使用这个数据库。
第六步:开始导入sql文件,输入“source sql文件的路径”(注意你的文件路径要是复制来的,要将"\"全部换成“/”)
第七步:输入“show tables”,你就会看到你导入的表了。
方法如下,举例说明:
1、创建测试表,即为要被导入的表:
create table person(
id int not null auto_increment,
name varchar(40) not null,
city varchar(20),
salary int,
primary key(id)
)engine=innodb charset=gb2312;
2、接着写一个用于导入的文本文件:c:\data.txt。
张三
31
北京
3000
李四
25
杭州
4000
王五
45
\N
4500
小明
29
天津
\N
每一项之间用Tab键进行分隔,如果该字段为NULL,则用\N表示。
3、导入数据
输入命令,进行导入。
load
data
local
infile
“c:/data.txt”
into
table
person(name,age,city,salary);
导入数据截图如下:
其中local表示本地。执行后,可以看到NULL数据也被正确地导入。
1、在MySQL数据库中创建一个用户表user,包含三个最基础字段:主键id,姓名name和年龄age。
CREATE TABLE USER(id INT UNSIGNED NOT NULL AUTO_INCREMENT,name VARCHAR(32) NOT NULL,age tinyint UNSIGNED,PRIMARY KEY (id))ENGINE=InnoDB CHARSET=utf8;
2、制作一个user.txt文件,每一条内容用Tab键进行分隔不同的属性,多条换行。如果该字段为NULL,则用/N表示。 里面包含内容如下:
雷雪松 31
raykaeso 25leixuesong 45barbie /N
3、使用MySQL命令导入txt文本,指定本地路径和对应表中的字段。
LOAD DATA LOCAL INFILE "H:/user.txt" INTO TABLE USER(name,age);
mysql在linux命令行下导入txt文件
mysql导入txt的命令如下
但如果在终端中通过
登陆的话,输入以上命令会报错:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
大家不要被报错的表面翻译给误导了,这其实是个权限问题,解决方法如下
在通过终端输入时,加上一个参数--local-infile = 1 详细解释请自行百度。
用下面语句登陆后再进行导入,就成功了
mysqlimport方法导入文件:
其实无论是load data还是mysqlimport,导入是事务,如果不是则设置引擎支持事务。
如何解决大文件导入?当有十几甚至几十G文件需要导入时,因为导入中间可能会失败,如果一次性导入,导入失败会导致回滚,代价太高,从几十G文件中寻找问题也是很头疼的事情。因此,需要先将大文件拆成小文件,比如split命令,按2万行一个单位拆成小文件,以后缀编号区分,编写脚本进行自动导入。如果发生的错误,只需要从小文件中定位问题即可。然后重启导入脚本。
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令:
mysql source d:/myprogram/database/db.sql;
另附mysql常用命令:
一) 连接MYSQL:
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL
首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql
2、例2:连接到远程主机上的MYSQL (远程:IP地址)
假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
mysql -h10.0.0.1 -uroot -p123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令
exit (回车)
(二) 修改密码: