导航:首页 > 程序命令 > mysql导出表结构命令

mysql导出表结构命令

发布时间:2022-07-27 17:45:57

⑴ mysql怎样导出表(表结构+数据)

定期的备份可使我们数据库崩溃造成的损失大大降低。在MySQL中进行数据备份的方法有两种,一种是使用mysqlmp程序,一种是使用mysqlhot、cp、tar或cpio等打包程序直接拷贝数据库文件。mysqlmp程序备份数据库较慢,但它生成的文本文件便于移植。使用mysqlhot等程序备份速度快,因为它直接对系统文件进行操作,需人为协调数据库数据的备份前后一致性。

使用mysqlmp备份数据库其实就是把数据库转储成一系列CREATE TABLE和INSERT语句,通过这些语句我们就可重新生成数据库。使用mysqlmp的方法如下:

% mysqlmp --opt testdb | gzip > /data/backup/testdb.bak
#--opt选项会对转储过程进行优化,生成的备份文件会小一点,后的管道操作会进行数据压缩
% mysqlmp --opt testdb mytable1,mytable2 | gzip > /data/backup/testdb_mytable.bak
#可在数据库后接数据表名,只导出指定的数据表,多个数据表可用逗号分隔

--opt选项还可激活--add-drop-table选项,它将会在备份文件的每条CREATE TABLE前加上一条DROP TABLE IF EXISTS语句。这可方便进行数据表的更新,而不会发生“数据表已存在”的错误。

用mysqlmp命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。

% mysqladmin -h remote_host create testdb
% mysqlmp --opt testdb | mysql -h remote_host testdb
另外还可通过ssh远程调用服务器上的程序,如:
% ssh remote_host mysqladmin create testdb
% mysqlmp --opt testdb | ssh remote_host mysql testdb

通过直接拷贝系统文件的方式备份数据库,在备份时,要确保没有人对数据库进行修改操作。要做到这点,最好关闭服务器。如果不能关闭的,要以只读方试锁定有关数据表。下面是一些示例:

% cp -r db /backup/db #备份db数据库到/backup/db目录
% cp table_name.* /backup/db #只备份table_name数据表
% scp -r db remotehot:/usr/local/mysql/data #用scp把数据库直接拷贝到远程服务器

在把数据库直接拷贝到远程主机时,应注意两台机器必须有同样的硬件结构,或者将拷贝的数据表全部是可移植数据表类型。

使用mysqlhot工具,它是一个Perl DBI脚本,可在不关闭服务器的情况下备份数据库,它主要的优点是:

它直接拷贝文件,所以它比mysqlmp快。

可自动完成数据锁定工作,备份时不用关闭服务器。

能刷新日志,使备份文件和日志文件的检查点能保持同步。

下面是该工具的使用示例:

% mysqlhot db /bakcup/ #把db数据库备份到backup/db目录里,会自动创建一个db目录

使用BACKUP TABLE语句进行备份,该语句最早出现在MySQL 3.23.25版本中,仅适用于MyISAM数据表。用法如下:

mysql> BACKUP TABLE mytable TO '/backup/db'; #把mytable数据表备份到/backup/db目录下

为了执行该语句,你必须拥有那些表的FILE权限和SELECT权限,备份目录还必须是服务器可写的。该语句执行时,会先把内存中的数据写入磁盘,再把各个数据表的.frm(表结构定义文件)、.MYD(数据)文件从数据目录拷贝到备份目录。它不拷贝.MYI(索引)文件,因为它能用另外两个文件重建。BACKUP TABLE语句备份时,依次锁定数据表,当同时备份多个数据表时,数据表可能会被修改,所以备份0完成时,备份文件中的数据和现时数据表中的数据可能会有差异,为了消除该差异,我们可用只读方式锁定数据表,在备份完成后再解锁。如:

mysql> LOCK TABLES tb1 READ,tb2 READ;
mysql> BACKUP TABLE tb1,tb2 TO 'backup/db';
mysql> UNLOCK TABLES;

使用BACKUP TABLE语句备份的数据表可用RESTORE TABLE重新加载到服务器。

InnoDB和BDB数据库也可用mysqlmp和直接拷贝法进行备份。使用直接拷贝法时应注意需把组成InnoDB和BDB数据库的所有文件都拷贝下来,如InnoDB的.frm文件、日志文件和表空间配置文件;BDB的数据文件、日志文件等。

使用镜像机制进行备份,我们可用SLAVE STOP语句挂起从服务器的镜像,在从服务器上通过直接拷贝法或其它工具制作备份。备份完成,用SLAVE START重新启动镜像,从服务器重新与主服务器同步,接收备份时主服务器所做的修改。

在MySQL中没有为数据库重命名的命令,但我们可用mysqlmp转储数据库,再创建一个新的空数据库,把转储文件加载到该新数据库,这样就完成数据库重命名的工作。如:

% mysqlmp old_db >db.sql #转储db数据库数据
% mysqladmin create new_db #新建一个空的数据库
% mysql new_db < db.sql #把db数据库的数据加载到新的数据库中
% mysqladmin drop old_db #删除旧的数据库

一个更简单的重命名数据库的方法是直接修改数据库目录名,但该方法不适用于InnoDB和BDB数据库。注意,在更名后,需在权限表中更新相关数据表信息,需执行以下语句:

mysql> UPDATE db SET db='new_db' WHERE db='old_db';
mysql> UPDATE tables_priv SET db='new_db' WHERE db='old_db';
mysql> UPDATE columns_priv SET db='new_db' WHERE db='old_db';
mysql> UPDATE host SET db='new_db' WHERE db='old_db';

⑵ 如何导出mysql数据库到sql文件

方法如下:
1.在本地建一个与数据库同名的数据库。
2.选择navicat中连接服务器的数据库,在菜单栏选择工具-->数据传输。

3.在弹出的的窗口中“源”部分就是你要导出的源数据库,“目标”就是本地的数据库,点击左下角全选后,再点击开始按钮。

4.点击确定。

5.点击关闭。

拓展资料:
导出数据库用mysqlmp命令(注意mysql的安装路径,即此命令的路径):
导出数据和表结构:mysqlmp
-u用户名
-p密码
数据库名
>
数据名.sql#/usr/local/mysql/bin/

mysqlmp
-uroot
-p
abc
>
abc.sql,敲回车后会提示输入密码。

⑶ mysql如何导出、导入数据库和表,详细一点

你是要导出什么样的格式的?


这里推荐一款软件 Navicat 8.2 MySQL


这是一款很不错的mysql管理软件,可以很好地处理mysql数据库,可以远程链接





有很多mysql数据备份工具和软件,网络一下

⑷ mysql怎么导出表结构

通过Navicat 工具,然后连接上库后,右键导出表结构

⑸ mysql 怎样导出一个表的结构和数据

具体方法步骤如下:

1、使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项:

2、要想转成Excel格式的只需手动将该表复制到Excel中去。

⑹ mysql如何导出表结构为文本文件

Log File物理结构

log block结构分为日志头段、日志记录、日志尾部

  • Block Header,占用12字节

  • Data部分

  • Block tailer,占用4字节

  • Block Header

    这个部分是每个Block的头部,主要记录的块的信息

  • Block Number,表示这是第几个block,占用4字节,是通过LSN计算得来的,占用4字节

  • Block data len,表示该block中有多少字节已经被使用了,占用2字节

  • First Rec offet,表示该block中作为第一个新的mtr开始的偏移量,占用2字节

  • Checkpoint number,表示该log block最后被写入时的检查点的值,占用4字节

  • ⑺ mysql导出数据库几种方法

    1、确保我们的数据库已经正确的安装在电脑上了,首先打开命令行窗口,win+R快捷键打开运行窗口,输入cmd。

    ⑻ 怎样将MySQL数据库结构和数据导出或导入

    在使用MySQL时,有时需要从数据库中导出数据,以便用在本地或其它的数据库系统之上,或者将现有数据导入MySQL数据库中。做MySQL数据库的结构和数据的导出和导入。要用到MySQL的mysqlmp工具,基本用法是:
    shell> mysqlmp [OPTIONS] database [tables]
    如果不给定任何表,整个数据库将被导出。
    如果想看到mysqlmp的版本支持的各个选项及含义,可以执行这条命令:
    shell> mysqlmp --help
    下面来谈谈mysqlmp支持的主要选项及含义:
    --add-locks :在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。
    --add-drop-table :在每个create语句之前增加一个drop table。
    --allow-keywords :允许创建是关键词的列名字。这由表名前缀于每个列名做到。
    -c, --complete-insert :使用完整的insert语句(用列名字)。
    -C, --compress :如果客户和服务器均支持压缩,压缩两者间所有的信息。
    --delayed :用INSERT DELAYED命令插入行。
    -e, --extended-insert :使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)
    -#, --debug[=option_string] :跟踪程序的使用(为了调试)。
    --fields-terminated-by=...
    --fields-enclosed-by=...
    --fields-optionally-enclosed-by=...
    --fields-escaped-by=...
    --fields-terminated-by=...
    这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义LOAD DATA INFILE语法:
    -F, --flush-logs :在开始导出前,洗掉在MySQL服务器中的日志文件。
    -f, --force :即使我们在一个表导出期间得到一个SQL错误,继续。
    -h, --host=.. :从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。
    -l, --lock-tables :为开始导出锁定所有表。
    -t, --no-create-info :不写入表创建信息(CREATE TABLE语句)
    -d, --no-data :不写入表的任何行信息。用这个参数我们可以得到只有一个表的结构的导出。
    --opt :同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
    -pyour_pass, --password[=PASSWORD] :与服务器连接时使用的口令。如果你不指定"="PASSWORD"部分,mysqlmp需要来自终端的口令。
    -P port_num, --port=port_num :与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)
    -q, --quick :不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。
    -S /path/to/socket, --socket=/path/to/socket :与localhost连接时(缺省主机)使用的套接字文件。
    -T, --tab=path-to-some-directory :对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqlmp运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和--lines--xxx选项来定。
    -u user_name, --user=user_name :与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。
    -O var=option, --set-variable var=option设置一个变量的值。可能的变量被列在下面。
    -v, --verbose :冗长模式。打印出程序所做的更多的信息。
    -w, --where='where-condition' :只导出被选择了的记录;注意引号是强制的。
    "--where=user='jimf'" "-wuserid>1" "-wuserid<1"
    我们可以用mysqlmp作整个数据库的一个备份:
    mysqlmp --opt database > backup-file.sql
    或者我们将一个数据库的信息填充到另外一个MySQL数据库:

    mysqlmp --opt database | mysql --host=remote-host -C database由于mysqlmp导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:
    shell> mysqladmin create target_db_name
    shell> mysql target_db_name < backup-file.sql

    ⑼ 如何将mysql表结构导出成Excel格式的

    将mysql表结构导出成Excel格式的,以下介绍方法:
    1.
    用Navicat
    for
    MySQL工具打开,右键表选择转存sql文件
    2.
    填写导出名,格式修改为xls
    3.
    导出成功,关闭窗口
    4.
    查看excel文件,可看到表结构,表信息
    将数据导出成excel格式:
    1.
    用Navicat
    for
    MySQL工具打开表,对表查询
    2.
    将查询的结果进行导出,点击导出向导,选出导出的excel格式
    3.
    选择导出本地路径
    勾选上列名
    4.
    点击开始
    导出完成,点关闭
    5.
    可以打开刚才导出的excel

    ⑽ 如何导出服务器mysql数据库备份

    一、导出数据库用mysqlmp命令(注意mysql的安装路径,即此命令的路径):
    1、导出数据和表结构:
    mysqlmp
    -u用户名
    -p密码
    数据库名
    >
    数据库名.sql
    #/usr/local/mysql/bin/
    mysqlmp
    -uroot
    -p
    abc
    >
    abc.sql
    敲回车后会提示输入密码
    2、只导出表结构
    mysqlmp
    -u用户名
    -p密码
    -d
    数据库名
    >
    数据库名.sql
    #/usr/local/mysql/bin/
    mysqlmp
    -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
    建议使用第二种方法导入。
    注意:有命令行模式,有sql命令

    阅读全文

    与mysql导出表结构命令相关的资料

    热点内容
    静态路径命令 浏览:531
    一直编译不过怎么办 浏览:827
    汽车串联并联算法 浏览:458
    助眠解压的声音音频小哥哥 浏览:275
    pythoncmd换行 浏览:374
    linux取消行号 浏览:353
    安卓原生系统官网是什么 浏览:444
    底部主图源码 浏览:878
    服务器崩了有什么提示 浏览:780
    远程海康服务器用什么浏览器 浏览:232
    解压报纸图片 浏览:956
    python微信公众号开发平台 浏览:895
    知识付费网站java源码 浏览:255
    方舟怎么做命令管理 浏览:849
    linux流量异常 浏览:675
    单片机如何给电脑加密码 浏览:519
    如何删掉多余的服务器 浏览:220
    c编程算法 浏览:833
    堵车如何缓解压力 浏览:17
    喜鹊快贷app怎么了 浏览:263