当前位置: 首页 > news >正文

南京 电子商务网站平面设计培训多少钱

南京 电子商务网站,平面设计培训多少钱,做网站设计前景怎么样,wordpress 商品价格在日常运维工作中#xff0c;对mysql数据库的备份是万分重要的#xff0c;以防在数据库表丢失或损坏情况出现#xff0c;可以及时恢复数据。 线上数据库备份场景#xff1a; 每周日执行一次全量备份#xff0c;然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案…在日常运维工作中对mysql数据库的备份是万分重要的以防在数据库表丢失或损坏情况出现可以及时恢复数据。 线上数据库备份场景 每周日执行一次全量备份然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案详细说明下 1.MySQLdump增量备份配置 执行增量备份的前提条件是MySQL打开binlog日志功能在my.cnf中加入 log-bin/opt/Data/MySQL-bin “log-bin”后的字符串为日志记载目录一般建议放在不同于MySQL数据目录的磁盘上。 1 2 3 4 5 6 7 8 9 ----------------------------------------------------------------------------------- mysqldump        导出数据 mysql            导入数据  或者使用source命令导入数据导入前要先切换到对应库下 注意一个细节 若是mysqldump导出一个库的数据导出文件为a.sql然后mysql导入这个数据到新的空库下。 如果新库名和老库名不一致那么需要将a.sql文件里的老库名改为新库名 这样才能顺利使用mysql命令导入数据如果使用source命令导入就不需要修改a.sql文件了。 ----------------------------------------------------------------------------------- 2.MySQLdump增量备份 假定星期日下午1点执行全量备份适用于MyISAM存储引擎。 [roottest-huanqiu ~]# MySQLdump --lock-all-tables --flush-logs --master-data2 -u root -p test backup_sunday_1_PM.sql 对于InnoDB将--lock-all-tables替换为--single-transaction --flush-logs为结束当前日志生成新日志文件 --master-data2 选项将会在输出SQL中记录下完全备份后新日志文件的名称 用于日后恢复时参考例如输出的备份SQL文件中含有 CHANGE MASTER TO MASTER_LOG_FILE’MySQL-bin.000002′, MASTER_LOG_POS106; 3.MySQLdump增量备份其他说明 如果MySQLdump加上–delete-master-logs 则清除以前的日志以释放空间。但是如果服务器配置为镜像的复制主服务器用MySQLdump –delete-master-logs删掉MySQL二进制日志很危险因为从服务器可能还没有完全处理该二进制日志的内容。在这种情况下使用 PURGE MASTER LOGS更为安全。 每日定时使用 MySQLadmin flush-logs来创建新日志并结束前一日志写入过程。并把前一日志备份例如上例中开始保存数据目录下的日志文件 MySQL-bin.000002 , ... 1.恢复完全备份 mysql -u root -p backup_sunday_1_PM.sql 2.恢复增量备份 mysqlbinlog MySQL-bin.000002 … | MySQL -u root -p注意此次恢复过程亦会写入日志文件如果数据量很大建议先关闭日志功能 --compatiblename 它告诉 MySQLdump导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为 ansi、MySQL323、MySQL40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等要使用几个值用逗号将它们隔开。当然了它并不保证能完全兼容而是尽量兼容。 --complete-insert-c 导出的数据采用包含字段名的完整 INSERT 方式也就是把所有的值都写在一行。这么做能提高插入效率但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。因此需要谨慎使用该参数至少我不推荐。 --default-character-setcharset 指定导出数据时采用何种字符集如果数据表不是采用默认的 latin1 字符集的话那么导出时必须指定该选项否则再次导入数据后将产生乱码问题。 --disable-keys 告诉 MySQLdump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 语句这能大大提高插入语句的速度因为它是在插入完所有数据后才重建索引的。该选项只适合 MyISAM 表。 --extended-insert true|false 默认情况下MySQLdump 开启 --complete-insert 模式因此不想用它的的话就使用本选项设定它的值为 false 即可。 --hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。 --lock-all-tables-x 在开始导出之前提交请求锁定所有数据库中的所有表以保证数据的一致性。这是一个全局读锁并且自动关闭 --single-transaction 和 --lock-tables 选项。 --lock-tables 它和 --lock-all-tables 类似不过是锁定当前导出的数据表而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表如果是 Innodb 表可以用 --single-transaction 选项。 --no-create-info-t 只导出数据而不添加 CREATE TABLE 语句。 --no-data-d 不导出任何数据只导出数据库表结构。 mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 test.dump 将只备份表结构。--databases指示主机上要备份的数据库。 --opt 这只是一个快捷选项等同于同时添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 选项。本选项能让 MySQLdump 很快的导出数据并且导出的数据能很快导回。该选项默认开启但可以用 --skip-opt 禁用。注意如果运行 MySQLdump 没有指定 --quick 或 --opt 选项则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。 --quick-q 该选项在导出大表时很有用它强制 MySQLdump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。 --routines-R 导出存储过程以及自定义函数。 --single-transaction 该选项在导出数据之前提交一个 BEGIN SQL语句BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表例如 InnoDB 和 BDB。本选项和 --lock-tables 选项是互斥的因为 LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话应结合使用 --quick 选项。 --triggers 同时导出触发器。该选项默认启用用 --skip-triggers 禁用它。 跨主机备份 使用下面的命令可以将host1上的sourceDb复制到host2的targetDb前提是host2主机上已经创建targetDb数据库 -C 指示主机间的数据传输使用数据压缩 mysqldump --hosthost1 --opt sourceDb| mysql --hosthost2 -C targetDb 结合Linux的cron命令实现定时备份 比如需要在每天凌晨1:30备份某个主机上的所有数据库并压缩dump文件为gz格式 30 1 * * * mysqldump -u root -pPASSWORD --all-databases | gzip /mnt/disk2/database_date %m-%d-%Y.sql.gz 一个完整的Shell脚本备份MySQL数据库示例。比如备份数据库opspc [roottest-huanqiu ~]# vim /root/backup.sh #!bin/bash echo Begin backup mysql database mysqldump -u root -ppassword opspc /home/backup/mysqlbackup-date %Y-%m-%d.sql echo Your database backup successfully completed [roottest-huanqiu ~]# crontab -e 30 1 * * * /bin/bash -x /root/backup.sh /dev/null 21 mysqldump全量备份mysqlbinlog二进制日志增量备份 1从mysqldump备份文件恢复数据会丢失掉从备份点开始的更新数据所以还需要结合mysqlbinlog二进制日志增量备份。 首先确保已开启binlog日志功能。在my.cnf中包含下面的配置以启用二进制日志 [mysqld] log-binmysql-bin 2mysqldump命令必须带上--flush-logs选项以生成新的二进制日志文件 mysqldump --single-transaction --flush-logs --master-data2 backup.sql 其中参数--master-data[0|1|2] 0: 不记录 1记录为CHANGE MASTER语句 2记录为注释的CHANGE MASTER语句 mysqldump全量增量备份方案的具体操作可参考下面两篇文档数据库误删除后的数据恢复操作说明解说mysql之binlog日志以及利用binlog日志恢复数据 -------------------------------------------------------------------------- 下面分享一下自己用过的mysqldump全量和增量备份脚本 应用场景 1增量备份在周一到周六凌晨3点会复制mysql-bin.00000*到指定目录 2全量备份则使用mysqldump将所有的数据库导出每周日凌晨3点执行并会删除上周留下的mysq-bin.00000*然后对mysql的备份操作会保留在bak.log文件中。 脚本实现 1全量备份脚本假设mysql登录密码为123456注意脚本中的命令路径 [roottest-huanqiu ~]# vim /root/Mysql-FullyBak.sh #!/bin/bash # Program # use mysqldump to Fully backup mysql data per week! # History # Path BakDir/home/mysql/backup LogFile/home/mysql/backup/bak.log Datedate %Y%m%d Begindate %Y年%m月%d日 %H:%M:%S cd $BakDir DumpFile$Date.sql GZDumpFile$Date.sql.tgz /usr/local/mysql/bin/mysqldump -uroot -p123456 --quick --events --all-databases --flush-logs --delete-master-logs --single-transaction $DumpFile /bin/tar -zvcf $GZDumpFile $DumpFile /bin/rm $DumpFile Lastdate %Y年%m月%d日 %H:%M:%S echo 开始:$Begin 结束:$Last $GZDumpFile succ $LogFile cd $BakDir/daily /bin/rm -f * 2增量备份脚本脚本中mysql的数据存放路径是/home/mysql/data具体根据自己的实际情况进行调整 [roottest-huanqiu ~]# vim /root/Mysql-DailyBak.sh #!/bin/bash # Program # use cp to backup mysql data everyday! # History # Path BakDir/home/mysql/backup/daily                     //增量备份时复制mysql-bin.00000*的目标目录提前手动创建这个目录 BinDir/home/mysql/data                                   //mysql的数据目录 LogFile/home/mysql/backup/bak.log BinFile/home/mysql/data/mysql-bin.index           //mysql的index文件路径放在数据目录下的 /usr/local/mysql/bin/mysqladmin -uroot -p123456 flush-logs #这个是用于产生新的mysql-bin.00000*文件 Counterwc -l $BinFile |awk {print $1} NextNum0 #这个for循环用于比对$Counter,$NextNum这两个值来确定文件是不是存在或最新的 for file in cat $BinFile do     basebasename $file     #basename用于截取mysql-bin.00000*文件名去掉./mysql-bin.000005前面的./     NextNumexpr $NextNum 1     if [ $NextNum -eq $Counter ]     then         echo $base skip! $LogFile     else         dest$BakDir/$base         if(test -e $dest)         #test -e用于检测目标文件是否存在存在就写exist!到$LogFile去         then             echo $base exist! $LogFile         else             cp $BinDir/$base $BakDir             echo $base copying $LogFile          fi      fi done echo date %Y年%m月%d日 %H:%M:%S $Next Bakup succ! $LogFile 3设置crontab任务执行备份脚本。先执行的是增量备份脚本然后执行的是全量备份脚本 [roottest-huanqiu ~]# crontab -e #每个星期日凌晨3:00执行完全备份脚本 0 3 * * 0 /bin/bash -x /root/Mysql-FullyBak.sh /dev/null 21 #周一到周六凌晨3:00做增量备份 0 3 * * 1-6 /bin/bash -x /root/Mysql-DailyBak.sh /dev/null 21 4手动执行上面两个脚本测试下备份效果 [roottest-huanqiu backup]# pwd /home/mysql/backup [roottest-huanqiu backup]# mkdir daily [roottest-huanqiu backup]# ll total 4 drwxr-xr-x. 2 root root 4096 Nov 29 11:29 daily [roottest-huanqiu backup]# ll daily/ total 0 先执行增量备份脚本 [roottest-huanqiu backup]# sh /root/Mysql-DailyBak.sh [roottest-huanqiu backup]# ll total 8 -rw-r--r--. 1 root root 121 Nov 29 11:29 bak.log drwxr-xr-x. 2 root root 4096 Nov 29 11:29 daily [roottest-huanqiu backup]# ll daily/ total 8 -rw-r-----. 1 root root 152 Nov 29 11:29 mysql-binlog.000030 -rw-r-----. 1 root root 152 Nov 29 11:29 mysql-binlog.000031 [roottest-huanqiu backup]# cat bak.log mysql-binlog.000030 copying mysql-binlog.000031 copying mysql-binlog.000032 skip! 2016年11月29日 11:29:32 Bakup succ! 然后执行全量备份脚本 [roottest-huanqiu backup]# sh /root/Mysql-FullyBak.sh 20161129.sql [roottest-huanqiu backup]# ll total 152 -rw-r--r--. 1 root root 145742 Nov 29 11:30 20161129.sql.tgz -rw-r--r--. 1 root root 211 Nov 29 11:30 bak.log drwxr-xr-x. 2 root root 4096 Nov 29 11:30 daily [roottest-huanqiu backup]# ll daily/ total 0 [roottest-huanqiu backup]# cat bak.log mysql-binlog.000030 copying mysql-binlog.000031 copying mysql-binlog.000032 skip! 2016年11月29日 11:29:32 Bakup succ! 开始:2016年11月29日 11:30:38 结束:2016年11月29日 11:30:38 20161129.sql.tgz succ
http://www.fuzeviewer.com/news/40479/

相关文章:

  • 最新站群系统做视频素材怎么下载网站
  • 网站模板文件不存在深圳低价建站
  • 网站开发背景和目的网站制作:网推宝|百度
  • 做做网站2023下载wordpress+搜索tag
  • 中国联通网站备案系统校园网站建设划分vlan
  • 正规的合肥网站建设价格医疗手机网站建设
  • 网站建设商怎么做木马网站
  • 网站英文地图怎么做wordpress自定义表
  • 安阳信息网湘潭网站建设优化建站
  • 贺兰县住房和城乡建设局网站施工企业的内容
  • 哈尔滨网站定制公司太和县住房和城乡建设局网站
  • 数控机床网站建设网络营销的核心是什么
  • 做网站 徐州建行移动门户网站
  • 学做湘菜的视频网站硚口区建设局网站
  • 网络广告推广网站设计很好看的网站
  • 自适应企业建站企业档案网站建设的原则
  • 网站开发招聘名称淘客网站备案
  • 网站实名审核人人开发网站
  • 网站建设业绩二元期权网站建设
  • asp网站安全怎么做鞍山贴吧最新消息
  • 安徽网站建设优化推广如何用ps做创意视频网站
  • 女性门户网站织梦模板版纳网站建设
  • 苏州地产网站建设珠海网站制作套餐
  • 怎么用织梦模板做网站python网站开发框架
  • seo优化首页百度seo优化排名
  • 陕西网站开发价格建网站好
  • 创业初期要建立公司的网站吗如何为公司建立网站
  • 旅行社网站营销建设gif图片动态素材网站
  • 做网站 没内容网站建设公司广告 晴天娃娃
  • 文本编辑器 网站wordpress 分类目录 标签