mysql 数据导入导出详解

来源:互联网 发布:任那 知乎 编辑:程序博客网 时间:2024/05/20 22:28
一.MySQL的命令行模式的设置:
用dos命令进入到mysql安装目录的bin目录下例如 cd c:\program files\mysql\bin


在mysql中执行sql文件的命令 : source  d:\myprogram\database\db.sql;
连接MYSQL:mysql -h主机地址 -u用户名 -p用户密码


修改密码:
mysqladmin -u用户名 -p旧密码 password 新密码


二.简单的介绍一下命令行进入MySQL的方法:
1.cd 到mysql的bin目录执行 mysql -h hostname -u username -p
按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MySQL的用户名,如root。
进入命令行后可以直接操作MySQL了。
2.简单介绍一下MySQL命令:
1 CREATE DATABASE dbname; 
创建数据库
2 CREATE TABLE tablename; 
创建表
3 SHOW DATABASES; 
显示数据库信息,有那些可用的数据库。
4 USE dbname; 
选择数据库
5 SHOW TABLES; 
显示表信息,有那些可用的表
6 DESCRIBE tablename; 
显示创建的表的信息


从数据库导出数据库文件:
1.将数据库mydb导出到e:\MySQL\mydb.sql文件中:
打开开始->运行->输入cmd 进入命令行模式 cd到mysql安装目录的bin目录中
1 MySQLdump -h localhost -u root -p mydb >e:\MySQL\mydb.sql 
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
2.将数据库mydb中的mytable导出到e:\MySQL\mytable.sql文件中:
2 MySQLdump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql 
3.将数据库mydb的结构导出到e:\MySQL\mydb_stru.sql文件中:
3 MySQLdump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql 


从数据库中导出表结构
-h localhost如果mysql是安装在本机则可省略如果是远程则-p后面空着不要写密码
命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名;


    1、导出数据库为dbname的表结构(其中用户名为root,密码为dbpasswd,生成的脚本名为db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;


    2、导出数据库为dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;


    3、导出数据库为dbname所有表结构及表数据(不加-d)
    mysqldump -uroot -pdbpasswd  dbname >db.sql;


    4、导出数据库为dbname某张表(test)结构及表数据(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql; 


四.从外部文件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 
修改upload_ ......


MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。 
1.Win32下MySQL的备份与还原 
1.1 备份 
开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入bin文件夹 | 利用“mysqldump  -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。 
  
1.2 还原 
进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。 
  
2.Linux下MySQL的备份与还原 
2.1 备份 
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) 
[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。
2.2 还原
法一:
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。
法二:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) 
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。