smith88 发表于 2018-10-11 08:40:04

mysql配置——备份与恢复

  修复表
  服务器运行中断电,有可能对表有损坏或err日志中提示需要修复表
  ## 修复语句
  mysql> repair table pre_forum_attachtype;
  ## 修复.MYI索引文件,可以使用.frm文件创建索引
  mysql> repair table pre_forum_attachtype use_frm;
  备份
  ## 备份库
  # /usr/local/mysql/bin/mysqldump -uroot -p123456 wyydb > /data/discuz.sql
  ## 查看
  # cat /data/discuz.sql
  ## 备份某一个表
  # /usr/local/mysql/bin/mysqldump -uroot -p123456 wyydb pre_forum_post > /data/post.sql
  ## 备份时指定字符集
  # /usr/local/mysql/bin/mysqldump -uroot -p123456 --default-character-set=utf8 wyydb pre_forum_post > /data/post.sql
  ## 只备份表的创建语句 -d
  # /usr/local/mysql/bin/mysqldump -uroot -p123456 -d wyydb pre_forum_post > /data/post.sql
  解释说明:
  使用mysqldump工具进行备份,只写库备份的就是库;
  如果需要备份某个表在库后面加上表名 db table;
  -d db table 只是备份创建表的语句;
  备份时指定字符集--default-character-set=utf8只需添加这个选项即可;
  恢复
  ## 恢复库
  # mysql -uroot -p123456 wyydb < /data/discuz.sql
  ## 恢复表
  # mysql -uroot -p123456 wyydb < /data/post.sql
  解释说明:
  备份的时候要加表名,恢复的时候就不用加了,直接写库名即可。
  ## 恢复时指定字符集
  # mysql -uroot -p123456 --default-character-set=utf8 wyydb < /data/post.sql
  mysql重要知识点
  ① MySQL存储引擎MyISAM与InnoDB的优劣
  http://www.pureweber.com/article/myisam-vs-innodb/
  解释说明:
  MyISAM引擎的每个表都有三个文件.frm .MYD .MYI,InnoDB所有表都保存在同一个数据文件中;
  最重要的是.MYD来存放表数据;
  .MYI索引信息可以自动生成,备份时可以忽略此文件,但.frm与.MYD必须存在;
  为什么不选择InnoDB:
  1、当数据访问量很少的时候InnoDB没有MyISAM快,因为InnoDB不够轻量;
  MyISAM是一个轻量的引擎,但存储数据量大时会影响性能,没有InnoDB稳定;
  2、存储空间两者也有区别:
  MyISAM可以直接复制表文件,linuxwin互传;
  InnoDB在操作系统的文件系统之上,生成一个自己的文件系统,然后格式化成它自己识别的表格式文件,数据会存放到该文件系统中;
  3、MyISAM不支持事物,InnoDB支持;
  4、指定select语句时MyISAM更快一些,但INSERT/UPDATE/DELETE时InnoDB更优化;
  5、MyISAM统计行数更快,InnoDB则每次逐行扫描;
  6、MyISAM支持表锁,高并发可能会引起表锁很长时间,而InnoDB支持表锁,行锁;
  7、MyISAM不支持外键,InnoDB支持外键。
  ② L071-老男孩实效教育
  08-MySQL服务MyISAM引擎特点讲解
  12-MySQL服务InnoDB引擎特点讲解
  ③ 概述,需要详细了解①②
  # ls /data/mysql/wyydb/
  pre_common_admincp_cmenu.frm
  pre_common_admincp_cmenu.MYD
  pre_common_admincp_cmenu.MYI

页: [1]
查看完整版本: mysql配置——备份与恢复