1. 首页
  2. 数据库
  3. MySQL
  4. 网易技术部的MySQL中文资料

网易技术部的MySQL中文资料

上传者: 2018-12-08 00:32:24上传 PDF文件 658.93KB 热度 21次
网易技术部的MySQL中文资料 (非常好的学习资料) ============================================== 第1章帮助的使用 ..............................8 1.1按照层次看帮助..........................8 1.2快速查阅帮助..............................10 第2章表类型(存储引擎)的选择 ................................11 2.1Mysql存储引擎概述.........................11 2.2各种存储引擎的特性.......................................11 2.3如何选择合适的存储引擎.......................................12 第3章选择合适的数据类型 ........................................13 3.1选择数据类型的基本原则........................................13 3.2固定长度数据列与可变长 度的数据列...............................13 3.2.1 char与 varchar......................................13 3.2.2 text和 blob.......................................15 3.3浮点数与定点数...............................15 第4章字符集...............................16 4.1字符集概述...........................16 4.2Mysql支持的字符集简介.........................................17 4.3Unicode简述........................................17 4.4怎样选择合适的字符集..............................17 4.5Mysql字符集的设置.............................18 第5章索引的设计和使用 .....................................18 5.1Mysql索引概述.......................................18 5.2设计索引的原则.........................19 5.3btree索引与hash索引............................20 5.4Mysql如何使用索引......................................21 第6章锁机制和事务控制..........................21 6.1如何加锁................................21 6.2死锁..................................22 6.3事务控制................................22 第 7章 SQL中的安全问题.........................................29 7.1SQL注入简述......................................29 7.2开发中可以采取的措施.............................30 7.2.1 prepareStatement+Bind-variable................................30 7.2.2使用应用程序提供的转换函数:.............................31 7.2.3自己定义函数进行校验...............................31 第 8章 SQL Mode及相关问题...................................31 8.1MysqlSQLMode简介....................................31 8.2SQL Mode与可移植性...................................33 8.3SQL Mode与数据效验...................................34 第9章常用SQL技巧...............................34 9.1检索包含最大/最小值的行...............................34 9.2巧用 rand()/rand(n)提取随机行...............................34 9.3利用 groupby的 withrollup子句做统计...........................35 9.4用 bit groupfunctions做统计..........................36 第 10章其他需注意的问题 ........................................39 10.1数据库名、表名大小写问题..........................39 10.2使用外键需注意的地方...........................41 第二篇优化篇 ....................................45 第11章 SQL优化..............................45 11.1优化SQL的一般步骤.............................45 11.1.1通过 show status和应用特点了解各种 SQL的执行频率.......45 11.1.2定位执行效率较低的 SQL语句:..........................46 11.1.3通过 EXPLAIN分析低效SQL的执行计划:..........................46 11.1.4确定问题,并采取相应的优化措施:..........................47 11.2索引问题..............................48 11.2.1索引的存储分类............................48 10.2.2MySQL如何使用索引..........................49 10.2.3查看索引使用情况......................................49 11.3两个简单实用的优化方法...............................50 11.3.1定期分析表:....................................50 11.3.2使用 optimize table:..........................50 11.4常用SQL的优化.........................................51 11.4.1大批量插入数据:......................................51 11.4.2优化insert语句:..........................52 11.4.3优化groupby语句:..........................52 11.4.4优化orderby语句:..........................52 11.4.5优化join语句:............................53 11.4.6mysql如何优化or条件:................................ 54 11.4.7查询优先还是更新(insert、update、delete)优先:.........54 11.4.8使用SQL提示:..........................55 11.5其他优化措施..............................56 第12章优化数据库对象...........................56 12.1优化表的数据类型.......................................56 12.2通过拆分,提高表的访问效率.........................57 12.3逆规范化..............................57 12.4使用冗余统计表..........................57 12.5选择更合适的表类型...................................58 第 13章锁问题...................................58 13.1获取锁等待情况..........................58 13.2什么情况下使用表锁...................................59 13.3什么情况下使用行锁...................................59 13.4insert…select…带来的问题 ..........................60 13.5next-key锁对并发插入的影响...........................61 13.6隔离级别对并发插入的影响..........................61 13.7如何减少锁冲突..........................62 第 14章优化 MysqlServer.........................................63 14.1查看Mysqlserver当前参数..........................63 14.2影响Mysql性能的重要参数......................................63 14.2.1key_buffer_size的设置......................................63 14.2.2 table_cache的设置..........................65 14.2.3 innodb_buffer_pool_size的设置...........................65 14.2.4 innodb_flush_log_at_trx_commit的设置.................65 14.2.5 innodb_additional_mem_pool_size:.........................66 14.2.6 innodb_table_locks:...........................66 14.2.7 innodb_lock_wait_timeout:....................... 66 14.2.8 innodb_support_xa:............................67 14.2.9 innodb_doublewrite:.......................... 67 14.2.10 innodb_log_buffer_size:..........................67 14.2.11innodb_log_file_size:...............................67 第 15章 I/O问题.................................67 15.1使用磁盘阵列或虚拟文件卷分布I/O........................68 15.2使用 SymbolicLinks分布 I/O...............................68 第 16章应用优化 ...............................69 16.1使用连接池..........................69 16.2减少对 Mysql的访问..............................70 16.2.1避免对同一数据做重复检索:...............................70 16.2.2使用 mysql query cache:.............................70 16.2.3加 cache层: .....................................71 16.3负载均衡..............................71 16.3.1利用 mysql复制分流查询操作:...........................71 16.3.2采用分布式数据库架构:.......................................71 第三篇管理维护篇 .............................73 第 17章 mysql安装升级............................73 17.1安装.....................................73 17.1.1安装方法比较 ..............................73 17.1.2 rpm安装步骤 ...................................74 17.1.3二进制安装步骤 ..........................74 17.2源码安装步骤..............................75 17.3源码安装的性能考虑:...........................75 17.3.1去掉不需要的模块: ......................................75 17.3.2只选择要使用的字符集: .....................................76 17.3.3使用pgcc编译: ......................................76 17.3.4使用静态编译以提高性能:.................................77 17.4mysql升级............................77 17.5mysql降级............................78 第 18章 Mysql日志管理 ............................78 18.1错误日志:..........................78 18.2BINLOG:...........................79 18.3查询日志..............................80 18.4慢查询日志:..............................80 第 19章数据备份与恢复: ........................................81 19.1备份/恢复策略:.........................81 19.2冷备份:..............................81 19.3逻辑备份:..........................81 19.4单个表的备份:..........................82 19.5使用备份工具 ibbackup:...............................82 19.6时间点恢复:..............................83 19.7位置恢复:..........................84 19.8MyISAM表修复: .......................................84 第 20章 Mysql安全:......................................85 20.1正确设置目录权限:...................................85 20.2尽量避免以root权限运行mysql:...................................85 20.3删除匿名帐号:..........................85 20.4给mysql root帐号设置口令:..........................86 20.5设置安全密码并定期修改:..........................86 20.6只授予帐号必须的权限:...............................86 20.7除root外,任何用户不应有mysql库user表的存取权限:.......86 20.8不要把FILE、PROCESS或SUPER权限授予管理员以外的帐号:......86 20.9load datalocal带来的安全问题:.......................................87 20.10尽量避免通过symlinks访问表:....................................88 20.11使用merge存储引擎潜藏的安全漏洞:..........................88 20.12防止DNS欺骗:.......................................88 20.13droptable命令并不收回以前的相关访问授权:..............................88 20.14使用SSL:......................................88 20.15如果可能,给所有用户加上访问IP限制:.....................................90 20.16严格控制操作系统帐号和权限:....................................90 20.17增加防火墙:............................90 20.18其他安全设置选项:.............................90 20.18.1 allow-suspicious-udfs:.................................90 20.18.2 old-passwords: ............................90 20.18.3 safe-user-create: ..........................91 20.18.4 secure-auth: ..........................91 20.18.5 skip-grant-tables: .........................................91 20.18.6 skip-networking: ......................................91 20.18.7 skip-show-database: .......................................91 第21章 Mysql复制: ......................................92 21.1Mysql复制概述:........................................92 21.2安装配置:..........................92 21.3日常管理维护:..........................93 21.3.1经常查看slave状态 ...............................93 21.3.2怎样强制主服务器阻塞更新直到从服务器同步? ............94 21.3.3 master执行的语句在 slave上执行失败怎么办? ..................94 21.3.4 Slave上出现 log event entry exceeded max_allowed_packet错误怎么办?...94 21.3.5多主复制时,自动增长变量的冲突问题 ...............................95 21.3.6怎么样知道slave上现在复制到什么地方了...............................95 21.4需要注意的问题:.......................................95 第22章 Mysql Cluster: .........................95 22.1MysqlCluster概述:................................95 22.2MysqlCluster架构:.........................96 22.3安装配置:...............................96 22.3.1管理节点配置步骤............................96 22.3.2sql节点和数据节点的配置.........................98 22.4管理维护:..............................98 22.4.1Cluster的启动.........................98 22.4.2Cluster的关闭.............................99 22.5数据备份和恢复:..................................99 第23章Oracle向Mysql数据迁移:...............................100 23.1数据类型的差异:...........................100 23.2利用导出文本迁移:..............................100 23.2.1导出为insert sql文本.................................100 23.2.2导出为固定格式文本 ...........................101 23.3利用工具软件迁移:.........................................102 23.4使用DBA组开发的迁移工具:.......................................102 23.5数据迁移常见问题:................................103 23.5.1字符集问题:.............................103 23.5.2特殊字符处理.............................103 23.5.3日期字段的处理:.....................................103 23.5.4如何使迁移过程不被SQL错误中断:........................104 23.5.5如何查找产生warnings的原因..........................104 第24章应急处理:...............................104 24.1一般处理流程:.........................................104 24.2忘记root密码:...............................105 24.3表损坏如何处理:...............................105 24.4MyISAM表超过4G无法访问:.....................................106 24.5数据目录磁盘空间不足怎么办?...................................106 24.6如何禁止DNS反向解析?........................................107 第25章 Mysql管理中一些常用的命令和技巧:.......................107 25.1参数设置方法:..............................107 25.2mysql.sock丢失后怎么连接数据库?........................107 25.3同一台机器运行多个mysql:......................................108 25.4查看用户权限:..........................109 25.5修改用户密码:..........................110 25.6怎样灵活的指定连接的主机:....................................111 25.7到底匹配哪个符合条件的用户:.......................................111 25.8不进入mysql,怎样运行sql语句?.........................112 25.9客户端怎么访问内网数据库?....................................113收起
用户评论