当使用mysql的mysqldump命令导出数据的通知
有一个问题,当使用mysqldump命令来备份数据。当它开始迁移的Discuz论坛7 MySQL数据库,它是所有的权利时,mysqldump命令的使用,但它遇到了进口。
错误1062(xxxxx)1262行:重复entry'xxx'for key'xxx错误,并停止的地方。
不要第一次使用强制参数导入(除非您的原始数据库已经崩溃),否则会导致大量的数据丢失!
此时,您可以尝试以下2种方法:
一、当mysqldump备份使用扩展插入= false参数。
这些原则如下:
当使用mysqldump命令导出数据的关注
当你使用MySQL作为数据库,你需要导入库的B数据进库,和一个,和B库包含很多相同的数据,你需要使用mysqldump输出脚本。
通常的命令是
就t'dbname> 'scriptname SQL。
MySQL f'dbname< 'scriptname SQL。
将以下命令导入库将不成功。该现象在多次重复的关键错误报告之后完成,并且没有其他正确的数据插入库中。
就在那一刻,在mysqldump导出脚本命令的使用中发现,使用多行插入语句语法。而不是使用单一的插入语法。这就是问题所在。第一个初级卫生中的多行插入文法在执行下表INSERT语句后不会重复错误。
然后添加参数——扩展INSERT = false,完整的命令是
mysqldump扩展插入=假dbname > scriptname.sql
二,手动删除表中用户名中的重复值。
执行查询使用数据库工具Navicat,等等:
选择用户名,计数(*)从cdb_members组用户名具有计数(*)> 1
结果表明,表中有重复的字段,你会看到2个或更多的用户,是完全相同的。删除其中一条记录,然后保存数据库保存后。
这里需要特别注意:当进行备份时,表的结构与数据分离。
以下是一些正在使用的参数
备份数据库:
# mysqldump数据库名称>数据库备份的名称
# mysqldump -你的用户名-密码数据库名称>数据库备份的名称
# mysqldump - D -一-添加下拉表中,P>xxx.sql
1。出口结构不出口数据
就D数据库名称-中- P>xxx.sql
2。导出数据不导出
就T数据库名称-中- P>xxx.sql
三.导出数据和表结构
mysqldump数据库名称中,P>xxx.sql
4。导出特定表的结构
就中P B数据库名,表名> xxx.sql
# mysqldump { } { }选择数据库表
mysqldump支持以下选项:
——加锁
在每个表导出之前添加锁表,然后打开表。
——添加下拉表
在每一个创建语句之前添加一个下拉表。
——让关键词
栏目的名称是可以创造的。这是以表名的每个列的名称。
- c,完全插入
使用完整的INSERT语句(使用列名)。
-压缩
如果客户端和服务器都支持压缩,那么两者之间的所有信息都是压缩的。
——延迟
用插入延迟命令插入行。
-,扩展插入
使用一个新的行插入语法。(给一个更紧凑的和更快的INSERT语句)
- #,——调试{ = option_string }
跟踪程序的使用(用于调试)。
——帮助
显示帮助信息并退出。
字段终止于…
U3000
——封闭的字段…
U3000
字段可选地包含…
U3000
——字段转义…
U3000
字段终止于…
这些选择与不选择一起使用,有相应的LOAD DATA INFILE子句的意思相同。
LOAD DATA INFILE语法。
- f,刷新日志
在开始导出之前,先清理MySQL服务器中的日志文件。
- f,-力,
即使在导出表时遇到SQL错误,仍然继续。
h,-主机=…
出口对指定主机的MySQL服务器的默认主机的本地数据。
- L—锁定表。
锁定所有开始的表。
- t,不创建信息
非写表创建信息(创建表语句)
- d,没有数据
没有写入表的任何行信息。如果您只想导出表的结构,那么它非常有用!
——选择
——快速添加表——添加锁——扩展插入——锁定表。
你应该给你一个MySQL服务器最快的输出。
- pyour_pass,密码{ = your_pass }
连接到服务器时使用的密码。如果你没有指定= your_pass部分,就需要从终端的密码。
P port_num,端口= port_num
TCP / IP端口号连接到主机时使用。(这是用来连接外部主机主机因为它使用UNIX套接字。)
-快速
没有缓冲的查询,直接出口到标准输出;使用mysql_use_result()去做。
-路径/套接字
套接字文件使用localhost连接时(这是默认的主机)。
-,=某些目录的路径
对于每一个给定的表,创建一个table_name.sql文件包含创建SQL命令,和一个table_name.txt文件包含数据。注意:这只能当正在运行在相同的机器由mysqld守护进程运行。该格式。txt文件是基于——XXX和XXX领域线选项。
U user_name,用户= user_name
MySQL连接到服务器时使用的用户名。默认值是您的UNIX登录名。
- o =选项,-设置变量var =选项设置变量的值。
-,详细的
长模式。从程序中打印更多信息。
- V,版本
打印版本信息并退出。
W,——= 'where-condition
仅导出所选记录;必须注意引用。
——=用户= 'jimfwuserid > 1 wuserid<1
进口数据:
因为mysqldump出口是一个完整的SQL语句,很容易导入数据的MySQL客户端程序:
# MySQL数据库名称<文件名
#源 / / xxx.sql TMP