设为首页 收藏本站
查看: 768|回复: 0

[经验分享] mysql备份与恢复+ERROR 1046

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-18 08:44:22 | 显示全部楼层 |阅读模式
mysqldump -uroot -p123456   --default-character-set=utf8  quan >  /opt/quan.sql          //备份
grep -Ev     "#|\/|--|^$"     quan.sql                                      //查看文件
DROP TABLE IF EXISTS `test`;      //删除老的表
LOCK TABLES `test` WRITE;         //锁
UNLOCK TABLES;                    //解锁
mysql -uroot -p123456   quan < /opt/quan.sql                 //恢复

备份时加    多下面两行      建库   进入表
debug调试   --compact   //减少输出注释  优化备份大小   不添加锁
> CREATE DATABASE /*!32312 IF NOT EXISTS*/ `quan` /*!40100 DEFAULT CHARACTER SET gbk */;
> USE `quan`;
恢复时   mysql -uroot -p123456   < /opt/quan_B.sql    //直接恢复就行

mysqldump -uroot -p123456  quan | gzip >  /opt/quan.sql.gz      //压缩
gunzip quan.sql.gz    //解压  ,    再恢复

--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump 把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldump 把每个名字都当作为数据库名。
mysqldump    -uroot     -p123456    -B   quan  he    | gzip >  /opt/quan.sql.gz             //备份多个 库
mysqldump    -uroot     -p123456      quan test  test1     | gzip >  /opt/quan.sql.gz              //备份单个表

分库备份命令
mysql -uroot -p123456  -e "show databases;" | grep -Evi  "database|infor|perfor"  |  sed   's#^#mysqldump -uroot  -p123456 -B #g'
mysql -uroot -p123456  -e "show databases;" | grep -Evi  "database|infor|perfor"  |  sed  -r  's#^([a-z].*$)#mysqldump -uroot  -p123456  -B  \1 | gzip  > /opt/\1.sql.gz#g' | bash

mysql全量导出时碰到如下告警:                     默认是不备份事件表的,只有加了--events 才会不警告

Warning: Skipping the data of table mysql.event. Specify the --events option explicitly
解决办法:
--events --ignore-table=mysql.event                     

脚本循环备份分库
#!/bin/bash
for name in  `mysql -uroot -p123456  -e "show databases;" | grep -Evi  "database|infor|perfor" `
do
  mysqldump -uroot  -p123456 --events --ignore-table=mysql.event     -B   $name  | gzip  > /opt/${name}.sql.gz
done

备份表结构
mysqldump -uroot -p123456   -d quan > /opt/quan1.sql             // --no-data, -d:只导出表结构
只备份数据
mysqldump -uroot -p123456   -t quan > /opt/quan1.sql                    //    -t  =  --no-create-info

导出全部数据库
--all-databases  , -A
导出全部表空间
--all-tablespaces  , -Y
mysqldump -uroot -p123456  -A      -B  --events    > /opt/quan1.sql        //备份整个数据库

bin-log日志
vim /etc/my.cnf
#log-bin=mysql-bin  //关闭
mysql/data/mysql-bin.000001
mysqldump   -F   // 刷新bin-log日志
--master-data=2 /1           //增加bin-log 的日志文件名及对应的位置点
先注释掉 my.cnf  [client]  #default-character-set=utf8
mysqlbinlog  /applicatiom/mysql/data/mysql-bin.000001

-B       --compact     -A   -B     -F         -x 锁表   -l只读锁表      -d    -t
spacer.jpg

恢复
①use quan;
mysql> source    /root/quan.sql

②# mysql -uroot -p123456  hequan < /opt/hequan.sql

cat .my.cnf  设置登陆
[client]
user=root
host=localhost
password=123456

ifconfig eth0 | awk -F "[ :]+"  'NR==2  {print $4}'
192.168.10.11

多分库文件恢复
for name in `ls *.sql| sed 's#.sql##g' `; do mysql -uroot -p123456    < ${name}.sql ; done


ERROR 1046 (3D000) at line 22: No database selected
修改.sql   在22行前面加上   use   库名字;

mysql -e  " "  //在外面执行mysql命令
mysql> show  full   processlist; //连接情况
mysql> show variables like "%log_bin%";
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | OFF   |
| log_bin_trust_function_creators | OFF   |
| sql_log_bin                     | ON    |
+---------------------------------+-------+
spacer.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-218433-1-1.html 上篇帖子: 部署mysql多实例 下篇帖子: Centos安装mysql.rpm ERROR mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表