Mysql备份和恢复需要问题总结

一、首先Mysql备份

1、备份命令格式:
备份不在本地mysql

mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.dump

备份本地mysql:

mysqldump --opt  -u用户名 -p密码 -R 数据库名 > 文件名.dump	

示例:

mysqldump --opt -ueccom –peccom -R nete > nete.dump

小知识,经常要添加–opt、-R参数意义

1、–opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数。
–quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL文件。
–add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名。
–add-locks:表示在INSERT数据之前和之后锁定和解锁具体的数据表,你可以打开Mysqldump导出的SQL文件,在INSERT之前会出现LOCK TABLES和UNLOCK TABLES语句。
–extended-insert (-e):此参数表示可以多行插入。
2、-R:导出存储过程以及自定义函数

2、备份遇到问题:

1、Can’t connect to local MySQL server through sock

解决办法:
找到正确的套接字的路径: [root@localhost ~]# netstat -ln | grep mysql
unix 2 [ ACC ] STREAM LISTENING 2447213870
/data/mysql/data/mysql.sock

再运行dump命令: mysqldump
–socket=/data/mysql/data/mysql.sock -uroot
-p***** nete > nete.dump

2、mysqldump: Couldn’t execute ‘SET OPTION SQL_QUOTE_SHOW_CREATE=1’: You have an error in your SQL syntax; check the manual t
解决办法:

首先第一步查看数据库版本和操作数据库版本是否一致(简单说就是之前服务器装过数据库,这个命令还是之前版本的)
[rootlocalhost ~]#mysqldump --version
mysqldump Ver 10.13 Distrib5.1.71, for redhat-linux-gnu (x86_64)
[rootlocalhost ~]# which mysqldump
/usr/bin/mysqldump
第二步更改mysqldummp对应版本
cp /opt/mysql/mysql-5.6.23-linux-glibc2.5-x86_64/bin/mysqldump /usr/bin/mysqldump

二、导入数据

mysql -u用户 -p密码 nete < nete.dump
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值