MySQL用命令导出导入数据库

利用命令就是常用的mysqldump来操作,(mysqldump命令位于mysql/bin/目录中)

mysqldump工具有大量的选项,部分选项如下表:

选项/Option 作用/Action Performed

  --add-drop-table

  这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除

  --add-locks

  这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作
  
  -c or - complete_insert

  这个选项使得mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。

  --delayed-insert 在INSERT命令中加入DELAY选项

  -F or -flush-logs 使用这个选项,在执行导出之前将会刷新MySQL服务器的log.

  -f or -force 使用这个选项,即使有错误发生,仍然继续导出

  --full 这个选项把附加信息也加到CREATE TABLE的语句中

  -l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。

  -t or -no-create- info

  这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。
  
  -d or -no-data 这个选项使的mysqldump命令不创建INSERT语句。

在您只需要DDL语句时,可以使用这个选项。

  --opt 此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。

  -q or -quick 这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到的时候就写入导文件中。

  -T path or -tab = path 这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。
  
  -w "WHERE Clause" or -where = "Where clause "

  如前面所讲的,您可以使用这一选项来过筛选将要放到 导出文件的数据。

1、导出数据和表结构:

mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql

敲回车后会提示输入密码

2、只导出表结构

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/  --->  mysql的data目录

二、导入数据库

1、首先建空数据库
mysql>create database abc;

2、导入数据库

方法一:

(1)选择数据库

mysql>use abc;

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /home/abc/abc.sql;

方法二:

mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql

上面命令的意思是:
登录到mysql服务器
选择要导入的数据库(use new_db)
设置字符编码,不要问为什么,这个是为了防止乱码
编码最好一致,不然会出现莫名的错误
例如:gbk, gb2312, utf8 …
最后一步就是导入了,source db_bak.sql
db_bak.sql这个文件在当前目录。可以使用绝对路径来指明

建议使用第二种方法导入。

注意:有命令行模式,有sql命令

时间: 2024-10-11 20:38:40

MySQL用命令导出导入数据库的相关文章

MySQL命令行导出导入数据库实例详解_Mysql

MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 5.5\bin (或者直接将windows的环境变量path中添加该目录)  2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u lmapp -p lmapp -P 3308 > lmapp.sql   (输入后会让

表空间不存在-oracle11G使用expdp、impdp导出导入数据库问题

问题描述 oracle11G使用expdp.impdp导出导入数据库问题 问题描述:我使用oracle11G开发,表空间名称叫TBS_A得知客户服务器表空间创建成了TBS_B,为了更方便导出数据库到客户服务器,就在自己的数据库也创建了个同名表空间TBS_B.然后将我自己的数据使用imp(不是dp)从TBS_A导入到了TBS_B,然后将自己TBS_B的表空间使用expdp导出成10G版本.但是拿到客户那,使用impdp导入时却提示我TBS_A表空间不存在 我想问,我导出的是自己数据库的TBS_B为

LNMP 下使用命令导出导入 MySQL 数据库教程

作为站点或服务器运维人员,网站的备份与还原操作是必须熟练的.MySQL 数据库的导出和导入操作是必不可少的,对于一般的用户,可能使用的比较多的是 phpMyAdmin 这样的可视化操作界面,但是这种界面操作在数据库比较大的情况下,经常出错. 如果你对Linux下的命令比较熟悉,并且自己使用的是 vps 或云服务器的话,可以使用 MySQL 相关命令来导出和导入数据库,非常方便高效! 导出数据库 导出数据库为 db_wp.sql.gz 文件: mysqldump -u数据库用户名  -p数据库密码

LNMP 下使用命令导出导入 MySQL 数据库

作为站点或服务器运维人员,网站的备份与还原操作是必须熟练的.MySQL 数据库的导出和导入操作是必不可少的,对于一般的用户,可能使用的比较多的是 phpMyAdmin 这样的可视化操作界面,但是这种界面操作在数据库比较大的情况下,经常出错. 如果你对Linux下的命令比较熟悉,并且自己使用的是 vps 或云服务器的话,可以使用 MySQL 相关命令来导出和导入数据库,非常方便高效! 导出数据库 导出数据库为 db_wp.sql.gz 文件: mysqldump -u数据库用户名  -p数据库密码

使用MySQL MySqldump命令导出数据时的注意事项_Mysql

今天使用mysqldump命令备份数据的时候出现了一个问题. 一开始迁移 Discuz 7 论坛的 mysql 数据库时,采用 mysqldump 命令的时候一切顺利,但导入的时候却遇到了  ERROR 1062 (xxxxx) at line 1262: Duplicate entry 'XXX' for key 'XXX' 错误,并停在原地. 对于遇到相同错误的朋友千万别第一时间就尝试用 –force 参数强行导入(除非你原来的数据库已经崩溃).因为这样做的话,即使导入了,也会有一大片数据丢

mysql利用命令导出数据sql语句

命令行source 导入数据库:  代码如下 复制代码 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql -u root -p    (输入同样后会让你输入ySQL的密码) 4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为blog的目标数据库(mysql>create database blog;) 5,输入:mysql>use 目标数据库名

oracle中 exp/imp导出导入数据库例子

导出前先查看系统的NLS_LANG设置: echo $NLS_LANG AMERICAN_AMERICA.ZHS16CGB231280 select userenv('language') from dual; AMERICAN_AMERICA.ZHS16GBK 这两个值不同会报错: EXP-00091: Exporting questionable statistics 问题产生的原因: linux下用户环境变量语言集和oracle数据库中的环境变量语言集不同. 解决办法: 将linux下用户

mysql下完整导出导入实现方法_Mysql

昨日中午帮鲤鱼给某大型团购网站转移数据库服务器,这篇文章本该是昨天转移完成后总结发出来的,但由于一些原因没有及时写出来,现在赶快补上. 首先大概环境是这样的,旧数据库服务器mysql版本5.0 centos系统 无web,无ftp,新数据库服务器mysql5.1 centos nginx. 看到这样的环境首先想法是通过phpmyadmin导入导出,但原数据库服务器无web环境,另外数据库文件大约300M,仅靠phpmyadmin无法导入. 下来准备停止mysql,打包数据库目录,然后覆盖的新服务

MYSQL命令行导入导出数据库详解_Mysql

Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql -u root -p   (输入同样后会让你输入MySQL的密码) 4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库 5,输入:mysql>use 目标数据库名 如我输入的命令行:mysql>use news; 6,导入文件:mysql>s