MySQL导入sql 文件的5大步骤

以下的文章主要介绍的是MySQL导入sql 文件,即MySQL数据库导入导出sql 文件的实际操作步骤,我们主要是将其分成5大步骤对其进行讲述,如果你对其有兴趣的话你就可以点击以下的文章进行观看了。

步骤如下:

一.MySQL的命令行模式的设置:

桌面->我的电脑->属性->环境变量->新建->

PATH=“;path\MySQL\bin;”其中path为MySQL的安装路径。

二.简单的介绍一下命令行进入MySQL的方法:

1.C:\>MySQL -h hostname -u username -p

按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MySQL的用户名,如 root。

进入命令行后可以直接操作MySQL了。

2.简单介绍一下MySQL命令:

1. MySQL->CREATE DATABASE dbname;

创建数据库

1. MySQL->CREATE TABLE tablename;

创建表

1. MySQL->SHOW DATABASES;

显示数据库信息,有那些可用的数据库。

1. MySQL->USE dbname;

选择数据库

1. MySQL->SHOW TABLES;

显示表信息,有那些可用的表

1. MySQL->DESCRIBE tablename;

显示创建的表的信息

三.从数据库导出数据库文件:

1.将数据库mydb导出到e:\MySQL\mydb.sql文件中:

打开开始->运行->输入cmd 进入命令行模式

1. c:\>MySQLdump -h localhost -u root -p mydb >e:\MySQL\mydb.sql

然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

2.将数据库mydb中的mytable导出到e:\MySQL\mytable.sql文件中:

1. c:\>MySQLdump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql

3.将数据库mydb的结构导出到e:\MySQL\mydb_stru.sql文件中:

1. c:\>MySQLdump -h localhost -u root -p mydb –add-drop-table >e:\MySQL\mydb_stru.sql

-h localhost可以省略,其一般在虚拟主机上用

四.从外部文件MySQL导入数据到数据库中:

从e:\MySQL\mydb2.sql中将文件中的SQL语句导入数据库中:

1.从命令行进入MySQL,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。

2.退出MySQL 可以输入命令exit;或者quit;

3.在CMD中输入下列命令:

1. c:\>MySQL -h localhost -u root -p mydb2 < e:\MySQL\mydb2.sql

然后输入密码,就OK了。

五.下面谈一下关于导入文件大小限制问题的解决:

默认情况下:MySQL导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:

1.在php.ini中修改相关参数:

影响MySQL导入文件大小的参数有三个:

1. memory_limit=128M,upload_max_filesize=2M,post_max_size=8M

1,有服务器权限的。直接COPY文件。WIN一般是MYSQL安装目录的data下你的用户名。LINUX是安装目录下的var,其他系统不清楚。

2,如果是SQL格式的。有的可能上100M之类的。用source导入。source 文件名

解释:在导入之前先要选择好那个用户。

cd /mysql目录

cd bin

mysql -u root -p(LINUX基本要加上路径的。比如/usr/local/mysql/bin/mysql这样)

--密码

use 用户名

source 文件名(如果把文件放到MYSQL安装目录的bin下边的话。就直接加文件名就行了。否则要加上路径。比如source /home/www/test.sql)

---------

今天正好有空,前几天infofast.cn的数据库被dreamhost给删了,不过在删之前,它还是帮我将数据库备份到了ftp上,始终没有想通为什么infofast占了dreamhost很多cpu…

今天下午下载下来后,猛然发现我的mysql数据库竟然有200多M,杂办呢??随后 baidu,google一番,找到方法:

修改PHP.ini文件的以下参数:

upload_max_filesize

memory_limit

post_max_size

这三个值设置的都要比数据库文件大,,比如你的数据库大小是300M,那么 upload_max_filesize = 500M..还有一点是在英文的帮助中看到的”One user also said that post_max_size and memory_limit need to be larger than upload_max_filesize.”.它的意思是有人建议post_max_size和memory_limit的配置值要大于 upload_max_file的配置值。。

好了后,重起下php和mysql,应该就可以了。。。

-------

MySQL的mysqldump工具导入导出数据库!

1.导出整个数据库(Dos下)

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u chai -p smgp_apps_wcnc > chai.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u chai -p smgp_apps_wcnc users>chai.sql

3.导出一个数据库结构

mysqldump -u chai -p -d –add-drop-table smgp_apps_wcnc >d:\chai.sql

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:\chai.sql

——————-

MySQL导入大SQL文件

五一放个假都不安心,一个库有1.4G,在从服务器上导出只有一半,主服务器上登陆不了,用 PM也只能导出一半,想了两天法子了,要ROOT密码要不到,没办法了,只有跳过ROOT密码,然后再更改为只有自己知道的密码。

1. 關閉 MySQL 伺服器。

2. 用以下指令啟動 MySQL,以跳過檢查權限的資料表

mysqld_safe –skip-grant-tables &<

3. 現在己經可以用空密碼進入 MySQL

mysql -u root

4. 進入 MySQL 後執行以下指令更改 mysql root 密碼:

mysql> update mysql.user set password=PASSWORD(”new_password”) where User=’root’;

mysql> flush privileges;

mysql> quit

5. 最後只需重新啟動 MySQL,便可以用新設定的密碼進入了。

mysql -uroot -pyourpassword yourdatabasename < /paths/sqlfile.sql (文件太大可在后面加个&)==========================================================================================

出现非ROOT帐户本地不能登陆的情况,提示use password yes,可能需要先用ROOT登陆后重新设定非ROOT用户,包括删除重建

============================================================================================

1.导入数据库

  常用source 命令

  进入mysql数据库控制台,

  如mysql -u atyu -p

  mysql>use 数据库

  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

  mysql>source /data/atyu30_db.sql

2.导出整个数据库

  mysqldump -u 用户名 -p 数据库名 > 导出的文件名

  mysqldump -u atyu -p atyu_bbs > atyu_bbs.back.sql

3.导出一个表

  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

  mysqldump -u atyu -p bbs users> atyu_users.sql

4.导出一个数据库结构

  mysqldump -u atyu -p -d –add-drop-table bbs >/data/atyu_bbs.sql

  -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

—-

今天的这篇文章用来讨论如何解决导入mysql大数据文件的问题,其实说的简单了就是一条 SQL语句,而如果你是一名SQL高手,那完全可以略过此文。

对于经常使用MYSQL的人来说,phpmyadmin是一个必备的工具。这个工具非常强大,几乎可以完成所有的数据库操作,但是它也有一个弱点,对于往远程服务器上导入较大的数据文件的时候会速度奇慢,甚至出现长期没有响应的情况。

为什么会出现这样的情况呢?当我们选择一个sql数据文件并提交的时候,服务器首先要先把文件上传到服务器,然后才会执行导入代码把数据导入到数据库。我们知道phpmyadmin是通过web方式上传的数据文件,而web方式上传是很不稳定的,尤其是网速慢的时候,这就是为什么我们会有那么多次在电脑前面苦苦等待而最终却没有结果的原因。

通过上面的分析,我们知道这个问题是出在web上传而非导入程序,所以如果能避免通过web 上传这个问题就好办了。我们可能会想到那功能强大的ftp上传工具,可是phpmyadmin无法选择远程路服务器上的文件,这是很郁闷的。

这里我们要放弃phpmysqladmin,通过mysql语句来导入数据库。很多人会纳闷怎么来执行SQL语句,这是一个关键的问题,这需要你的空间支持SSH(Secure Shell Protocol),并且你还得会一些linux命令。

首先通过SSH登录到服务器(我用putty登录工具),通过一些简单的linux命令找到我们的sql文件,然后运行下面的代码:

mysql db_name < data_file.sql

执行完命令之后如果没有任何提示,则说明我们的数据已经导入成功了(注意文件格式是 date_file.sql, sql.gz在中文下会出错) 。

这是一个很好的办法,但是也不是所有的人都可以用这个方法的,因为前提是你的空间必须支持 SSH登录,而支持SSH登录的空间还是比较少的,这真是挺让人遗憾的。

还有一个办法就是把phpmyadmin里面的import那个功能模块提取出来,稍微改动一下也可以达到相同的效果。当然如果你是一个PHP高手,也可以自己写一个导入的程序,可以直接选择一个服务器的路径

11th Apr 11. Posted in tech.

vim字符串替换及小技巧 »
« linux解压 tar命令

View or Post Comments.