mysqldump恢复数据库备份数据库报错,求解!

mysqldump&备份和恢复&转
备份MySQL数据库的命令(导出的脚本不含有CREATE
DATABASE语句)
  mysqldump -hhostname -uusername -ppassword databasename
& backupfile.sql
  备份MySQL数据库为带删除表的格式
  备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
  mysqldump --add-drop-table -uusername -ppassword databasename
& backupfile.sql
  直接将MySQL数据库压缩备份
  mysqldump -hhostname -uusername -ppassword databasename | gzip
& backupfile.sql.gz
  备份MySQL数据库某个(些)表
  mysqldump -hhostname -uusername -ppassword databasename
specific_table1 specific_table2 &
backupfile.sql
  同时备份多个MySQL数据库(导出的脚本含有CREATE DATABASE语句)
  mysqldump -hhostname -uusername -ppassword --databases
databasename1 databasename2 databasename3 &
multibackupfile.sql
  仅仅备份数据库结构
  mysqldump &no-data &databases databasename1 databasename2
databasename3 & structurebackupfile.sql
  备份服务器上所有数据库
  mysqldump &all-databases &
allbackupfile.sql
  还原MySQL数据库的命令
  mysql -hhostname -uusername -ppassword databasename
& backupfile.sql
  还原压缩的MySQL数据库
  gunzip & backupfile.sql.gz | mysql -uusername
-ppassword databasename
  将数据库转移到新服务器
  mysqldump -uusername -ppassword databasename | mysql
&host=*.*.*.* -C databasename
一、确定要备份的表的存储引擎是事务型还是非事务性,两种不同的存储引擎备份方式在处理数据一致性方面是不太一样的。
定使用全备份还是增量备份。全备份的优点是备份保持最新备份,恢复的时候可以花费更少的时间;缺点是如果数据量大,将会花费很多的时间,并对系统造成较长
时间的压力。增量备份则恰恰相反,只需要备份每天的增量日志,备份时间少,对负载压力也小;缺点就是恢复的时候需要全备份加上次备份到故障前的所有日志,
恢复时间会长些。
三、可以考虑采取复制的方法来做异地备份,但是记住,复制不能代替备份,它对数据库的误操作也无能为力。
四、要定期做备份,备份的周期要充分考虑系统可以承受的恢复时间。备份要在系统负载较小的时候进行。
五、确保MySQL打开log-bin选项,有了BINLOG,MySQL才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复。
六、要经常做备份恢复测试,确保备份是有效的,并且是可以恢复的
介绍:mysqldump是MySQL自带的备份工具,他备份出来的是一个文本文件可以直接查看,里面记录的就是数据库语句,原理就是通过数据库语句把数据库或表重新建了到备份时状态,其实用图形工具备份原理是一样的(都是逻辑备份)
注意:一定要检查备份文件,注意文件大小不是0,因为即使备份出错也会生成一个空文件
[root@zzh /]# mysqldump -u root -p
--all-database & /beifeng/all.sql
备份所以数据库,保存为all.sql文件
[root@zzh /]# mysqldump -u root -p zzh
& /beifeng/zzh.sql
备份指定zzh数据库,保存为zzh.sql文件
[root@zzh /]# mysqldump -u root -p zzh
kt1 kt2 & /beifeng/biao.sql
备份zzh数据库中的kt1和kt2表,保存为biao.sql文件
MyISAM存储引擎在备份的时候需要加,表示将所有表加上锁,在备份期间,所有表将只能读而不能进行数据更新
表示生成一个新的日志文件,这个日志记录了之前的操作,用来完全恢复
-u参数 指定用户名
-p参数 指定密码
-h参数 指定服务器ip或者域名
-P(大写) 指定端口
[root@zzh /]# mysql -u root -p zzh
& /beifeng/zzh.sql
恢复数据库时,数据库不受任何影响,注意:恢复的库时原库一定要存在
把数据恢复到最新状态
[root@zzh /]# mysqldump -F -u root -p
kangte & /beifeng/kangte.sql
备份kangte数据库,加-F生成一个新日志文件恢复时好查找,注意:一定要检查一下备份的文件
这时备份以后数据库发生的操作都会记录到二进制日志里面
[root@zzh /]# cp
/mysqldata/mysql-bin.000009 /beifeng/
特别注意:一定要在恢复之前把日志文件拷贝出来,否则日志也会记录恢复操作,把从备份生成后的所有二进制文件拷贝出来
[root@zzh /]# mysql -u root -p kangte
& /beifeng/kangte.sql
执行完全恢复kangte数据库,恢复到备份数据库时的状态,此时备份时到数据库恢复之间的操作还没有恢复
[root@zzh /]# mysqlbinlog
/beifeng/mysql-bin.000009 | mysql -u root -p kangte
用二进制日志把kangte数据恢复到最新状态
不完全恢复
一、基于时间点恢复(如果00:00:00——00:30:30中间出现问题,可以跳过这段时间恢复数据)
注意:恢复数据库之前最后把二进制文件备份一下
[root@zzh /]# mysqlbinlog
--stop-date=" 00:00:00" /mysqldata/mysql-bin.000009 |
mysql -u root -p kangte
用二进制日志文件把kangte数据库恢复到故障前
[root@zzh /]# mysqlbinlog
--start-date=" 00:30:30" /mysqldata/mysql-bin.000009 |
mysql -u root -p kangte
跳过故障时间点继续恢复kangte数据库
二、基于位置的恢复(可以更精确的恢复数据)
[root@zzh /]# mysqlbinlog
--start-date=" 00:00:00" --stop-date="
00:30:30" /mysqldata/mysql-bin.000009 &
根据二进制日志生成00:00:00——00:30:30中间的操作记录文件,这里记录的是对所有数据库的操作
[root@zzh /]# more
查看文件找出错误点前后对应的语句代号,如at
[root@zzh /]# mysqlbinlog
--stop-position="1000" /mysqldata/mysql-bin.000009 | mysql -u root
把kangte数据库恢复到代号为1000的语句前,注意:不恢复代号为1000的语句
[root@zzh /]# mysqlbinlog
--start-position="1010" /mysqldata/mysql-bin.000009 | mysql -u root
恢复代号为1010的语句之后的语句
直接拷贝数据库文件,根据情况备份需要备份的文件
[root@zzh /]#
/usr/local/mysql/share/mysql/mysql.server stop
先关闭数据库
[root@zzh /]# mkdir
建立一个目录用来保存备份
[root@zzh /]# tar -zcvf
/beifeng/2009.9.tgz ./mysqldata/
备份数据库,注意:备份时一定要清楚自己当前所在目录,这里用的相对路径
[root@zzh /]#
/usr/local/mysql/share/mysql/mysql.server start
启动数据库
用冷备份文件还原
注意:如果是一个小文件还原,直接关闭数据库把文件复制还原回去就可以了,但是如果像全库回复,把文件拷回去时间就会很长时间,这时执行下面操作,先把文件解压到新数据库目录,修改my.cnf文件重新指定新数据库目录,这样关闭数据库时间就会很短
[root@zzh beifeng]# mv mysqldata/
先把备份放到新数据库目录
[root@zzh /]# chown -R mysql.mysql
给新数据库目录权限
[root@zzh /]#
/usr/local/mysql/share/mysql/mysql.server stop
关闭数据库,注意:一定要把数据库关闭后在修改下面的文件,要不修改完在关库会报错
[root@zzh /]# vim
datadir = /xindata
设置新数据库目录位置,注意:这个字段默认没有自己在[mysqld]标签下添加
[root@zzh /]#
/usr/local/mysql/share/mysql/mysql.server start
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。你的位置:
解决mysqldump备份报错:SET OPTION SQL_QUOTE_SHOW_CREATE=1
在使用mysqldump备份数据库的时候报如下错误,mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)mysqldump命令使用方法参见:下面解决方法来源于网络,针对我的版本是mysql5.6,问题解决。使用命令查看:rpm -qa | grep -i mysql经排查发现是数据库版本问题、安装的是mysql5.6 、执行该命令是mysql5.5遗留下来的二进制文件、验证如下[root@yanue mysql]# which mysqldump
/usr/bin/mysqldump最后找到解决办法、用新安装的mysql绝对路径来实现备份#/usr/local/mysql/bin/mysqldump --socket=/tmp/mysql.sock -uroot -p --lock-all-tables zabbix & zabbix.sql另外:由于mysql server端的版本为5.6,mysql client端的版本为5.5,所以把mysql client端的版本也升到了5.6,再次执行mysqldump就好了.
转载请注明:
你可能还会对下面的内容感兴趣:
文解决mysqldump备份报错:SET OPTION SQL_QUOTE_SHOW_CREATE=1
浏览 6161 次
(C) 半叶寒羽(Yanue.net) |
| 粤ICP备号mysqldump导出时报2002 套接字错误_数据库技术_Linux公社-Linux系统门户网站
你好,游客
mysqldump导出时报2002 套接字错误
来源:Linux社区&
作者:Linux
在执行mysqldump命令时候报如下错误:[root@localhost ~]#& mysqldump -uroot -p -d test& test.sql&
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect
找到正确的套接字的路径: [root@localhost ~]#& netstat -ln | grep mysql& & & & & & & & & & & & & & & & &
unix& 2& & & [ ACC ]& &
LISTENING& &
/MysqlData/base/mysql/mysql.sock
再运行dump命令:[root@localhost ~]# mysqldump --sock=/MysqlData/base/mysql/mysql.sock -uroot -p -d test& test.sql&
Warning: Using unique option prefix sock instead of socket is deprecated and will be removed in a future release. Please use the full name instead.
Enter password:
执行成功,但有警告信息,提示使用sock前辍将在后继版本中可能不再支持,请使用全名
将--sock 换成--socket将不再有问题:
[root@localhost ~]# mysqldump --socket=/MysqlData/base/mysql/mysql.sock -uroot -p -d test& test.sql&
Linux下通过mysqldump备份MySQL数据库成sql文件
Linux中使用mysqldump对MySQL数据库进行定时备份
mysqldump缺失-q参数导致MySQL被oom干掉
mysqldump和LVM逻辑卷快照
MySQL备份方案--&(利用mysqldump以及binlog二进制日志)
[MySQL] 用mysqldump制作文本备份
本文永久更新链接地址:
相关资讯 & & &
& (12/13/:55)
& (10/18/:40)
& (10/27/:46)
& (08/29/:04)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款jiwang1980 的BLOG
用户名:jiwang1980
文章数:166
评论数:17
访问量:255412
注册日期:
阅读量:4510
51CTO推荐博文
3736人学习
9063人学习
22493人学习
sqlyog导出多个表,再倒入数据的时候报错,主键duplicate
查看,主键只有一条。
估计工具有问题,用dump
多个表,只导出数据
mysqldump -uxx -pxx -t -single-TRANSACTION --FLUSH-LOGS --MASTER-DATA=2 dbname table1 table2 table3 .... & data.sql
mysql -uxx -p databasename & data.sql
了这篇文章
类别:┆阅读(0)┆评论(0)开发/数据库
软件与服务//
用mysqldump导出Trigger问题解决方法
  描述如下:
  用mysqldump 导出 Trigger 的时候遇到一个问题,贴出来,以免大家犯错。
  在执行下面的操作时:
  [root@ytt ~]# /usr/local/mysql/bin/mysqldump -S /tmp/mysql1.sock test & test.sql
  导出的结果里面含有 Trigger.
  [root@ytt ~]# /usr/local/mysql/bin/mysqldump -S /tmp/mysql1.sock -Rdtn test & test_sp.sql
  导出的结果里面仍然含有 Trigger.
  导入的时候出错:
  [root@ytt ~]# /usr/local/mysql/bin/mysql -S /tmp/mysql1.sock --database test & test.sql
  [root@ytt ~]# /usr/local/mysql/bin/mysql -S /tmp/mysql1.sock --database test & sp.sql
  ERROR ) at line 26: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
  解决办法:
  默认不带任何参数的时候 tiggers 值为真,那么我们修改他的值为假,给mysqldump 加上开关: --triggers=false 即可。
关键词: 技巧
责任编辑:陈子琪
All Rights Reserved, Copyright , .cn渝ICP证B2-号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i
京公网安备84号}

我要回帖

更多关于 mysqldump备份数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信