王朝百科
分享
 
 
 

深入浅出MySQL:数据库开发优化与管理维护

王朝百科·作者佚名  2010-07-11  
宽屏版  字体: |||超大  

版权信息书 名: 深入浅出MySQL:数据库开发优

深入浅出MySQL:数据库开发优化与管理维护

化与管理维护

作者:唐汉明 翟振兴 兰丽华

出版社:人民邮电出版社

出版时间: 2008

ISBN: 9787115175625

开本: 16

定价: 59.00 元

内容简介《深入浅出MySQL数据库开发、优化与管理维护》从数据库的基础、开发、优化、管理维护4个方面对MySQL进行了详细的介绍,其中每一部分都独立成篇。《深入浅出MySQL数据库开发、优化与管理维护》内容实用,覆盖广泛,讲解由浅入深,适合于各个层次的读者。

基础篇主要适合于MySQL的初学者,内容包括MySQL的安装与配置、SQL基础、MySQL支持的数据类型、MySQL中的运算符、常用函数、图形化工具的使用等。开发篇主要适合于MySQL的设计和开发人员,内容包括表类型(存储引擎)的选择、选择合适的数据类型、字符集、索引的设计和使用、视图、存储过程和函数、触发器、事务控制和锁定语句、SQL中的安全问题、SQLMode及相关问题等。优化篇主要适合于开发人员和数据库管理员,内容包括常用SQL技巧和常见问题、SQL优化、优化数据库对象、锁问题、优化MySQLServer、磁盘I/O问题、应用优化等。管理维护篇主要适合于数据库管理员,内容包括MySQL高级安装和升级、MySQL中的常用工具、MySQL日志、备份与恢复、MySQL权限与安全、MySQL复制、MySQLCluster、MySQL常见问题和应用技巧等。

《深入浅出MySQL数据库开发、优化与管理维护》的作者都是MySQL方面的资深DBA。《深入浅出MySQL数据库开发、优化与管理维护》不但融入了他们丰富的工作经验和多年的使用心得,还提供了大量来自工作现场的实例,具有很强的实战性和可操作性。

《深入浅出MySQL数据库开发、优化与管理维护》适用于数据库管理人员、数据库开发人员、系统维护人员、数据库初学者及其他数据库从业人员,也可以作为大中专院校相关专业师生的参考用书和相关培训机构的培训教材。

作者简介唐汉明,网易公司技术部DBA组经理。2000年加入网易公司,历任技术部高级DBA、软件开发组经理、DBA组经理等职位,负责多个大型核心数据库的管理维护,并作为核心成员参加了许多重要项目的设计实施,在数据库开发及管理维护等方面具有丰富的经验。

翟振兴,网易公司技术部高级DBA,具有OracleOCP认证。曾参与某省级电力集团营销MIS系统的设计与开发工作,后逐渐转向数据库管理维护领域。加入网易公司后,负责公司多个核心数据库的管理维护工作,在数据库优化、开发支持等方面,积累了丰富的经验。

兰丽华,网易公司技术部高级DBA,具有OracleOCP和IBMDB2DBA认证。曾任职于某大型国企,作为核心成员参与上海税务项目的开发,该项目被列为2004年上海市科技成果。加入网易公司后,负责多个核心数据库的管理维护工作,在数据库优化和SQL调优方面具有丰富经验。

关宝军,网易技术部高级DBA。曾从事电信行业大型BOSS系统的开发及数据库管理维护工作。加入网易公司后,负责多个重要数据库管理维护,并参与了公司多个重要项目的计划、开发及实施。在数据库性能优化、问题诊断、集群技术应用等方面有丰富的实践经验。

申宝柱网易公司技术部高级DBA,具有OracleOCP认证。曾参与某著名公司大型医院管理系统的开发工作,后致力于数据库方向的应用实践。加入网易公司后,先后负责商务智能方面的开发和大型数据库的管理维护,在数据仓库建设和数据挖掘等方面有丰富的项目经验。

编辑推荐从开发、优化和管理维护3个角度逐步深入,融合了资深专家金戈铁马年工作实践的积累和经验,不但总结了应用MySQL数据库时遇到的各种问题及其解决办法,还强调了开发人员和数据库人员必备的知识、技能。

目录第1部分基础篇

第1章MySQL的安装与配置3

1.1MySQL的下载3

1.1.1在Windows平台下下载MySQL4

1.1.2在Linux平台下下载MySQL4

1.2MySQL的安装7

1.2.1在Windows平台下安装MySQL7

1.2.2在Linux平台下安装MySQL11

1.3MySQL的配置12

1.3.1Windows平台下配置MySQL12

1.3.2Linux平台下配置MySQL20

1.4启动和关闭MySQL服务20

1.4.1在Windows平台下启动和关闭MySQL服务21

1.4.2在Linux平台下启动和关闭MySQL服务22

1.5小结23

第2章SQL基础25

2.1SQL简介25

2.2(My)SQL使用入门25

2.2.1SQL分类25

2.2.2DDL语句26

2.2.3DML语句35

2.2.4DCL语句51

2.3帮助的使用52

2.3.1按照层次看帮助53

2.3.2快速查阅帮助54

2.3.3常用的网络资源55

2.4小结55

第3章MySQL支持的数据类型57

3.1数值类型57

3.2日期时间类型64

3.3字符串类型71

3.3.1CHAR和VARCHAR类型72

3.3.2BINARY和VARBINARY类型72

3.3.3ENUM类型73

3.3.4SET类型74

3.4小结74

第4章MySQL中的运算符77

4.1算术运算符77

4.2比较运算符78

4.3逻辑运算符82

4.4位运算符83

4.5运算符的优先级85

4.6小结86

第5章常用函数87

5.1字符串函数87

5.2数值函数90

5.3日期和时间函数93

5.4流程函数97

5.5其他常用函数100

5.6小结103

第6章图形化工具的使用105

6.1MySQLAdministrator105

6.1.1连接管理106

6.1.2健康检查107

6.1.3备份管理108

6.1.4Catalogs109

6.2MySQLQueryBrower110

6.3phpMyAdmin111

6.3.1数据库管理112

6.3.2数据库对象管理113

6.3.3权限管理113

6.3.4导入导出数据114

6.4小结116

第2部分开发篇

第7章表类型(存储引擎)的选择119

7.1MySQL存储引擎概述119

7.2各种存储引擎的特性122

7.2.1MyISAM122

7.2.2InnoDB124

7.2.3MEMORY129

7.2.4MERGE131

7.3如何选择合适的存储引擎134

7.4小结135

第8章选择合适的数据类型137

8.1CHAR与VARCHAR137

8.2TEXT与BLOB138

8.3浮点数与定点数142

8.4日期类型选择145

8.5小结145

第9章字符集147

9.1字符集概述147

9.2Unicode简述147

9.3汉字及一些常见字符集149

9.4怎样选择合适的字符集150

9.5MySQL支持的字符集简介150

9.6MySQL字符集的设置152

9.6.1服务器字符集和校对规则152

9.6.2数据库字符集和校对规则153

9.6.3表字符集和校对规则154

9.6.4列字符集和校对规则154

9.6.5连接字符集和校对规则154

9.7字符集的修改步骤155

9.8小结156

第10章索引的设计和使用157

10.1索引概述157

10.2设计索引的原则158

10.3BTREE索引与HASH索引159

10.4小结161

第11章视图163

11.1什么是视图163

11.2视图操作163

11.2.1创建或者修改视图163

11.2.2删除视图165

11.2.3查看视图166

11.3小结167

第12章存储过程和函数169

12.1什么是存储过程和函数169

12.2存储过程和函数的相关操作169

12.2.1创建、修改存储过程或者函数169

12.2.2删除存储过程或者函数174

12.2.3查看存储过程或者函数174

12.2.4变量的使用176

12.2.5定义条件和处理177

12.2.6光标的使用180

12.2.7流程控制181

12.3小结185

第13章触发器187

13.1创建触发器187

13.2删除触发器190

13.3查看触发器190

13.4触发器的使用192

13.5小结193

第14章事务控制和锁定语句195

14.1LOCKTABLE和UNLOCKTABLE195

14.2事务控制196

14.3分布式事务的使用202

14.3.1分布式事务的原理202

14.3.2分布式事务的语法203

14.3.3存在的问题204

14.4小结208

第15章SQL中的安全问题209

15.1SQL注入简介209

15.2应用开发中可以采取的应对措施210

15.2.1PrepareStatement+Bind-variable210

15.2.2使用应用程序提供的转换函数211

15.2.3自己定义函数进行校验211

15.3小结212

第16章SQLMode及相关问题213

16.1MySQLSQLMode简介213

16.2常用的SQLMode218

16.3SQLMode在迁移中如何使用219

16.4小结220

第3部分优化篇

第17章常用SQL技巧和常见问题223

17.1正则表达式的使用223

17.2巧用RAND()提取随机行226

17.3利用GROUPBY的WITHROLLUP子句做统计227

17.4用BITGROUPFUNCTIONS做统计229

17.5数据库名、表名大小写问题231

17.6使用外键需要注意的问题232

17.7小结233

第18章SQL优化235

18.1优化SQL语句的一般步骤235

18.1.1通过showstatus命令了解各种SQL的执行频率235

18.1.2定位执行效率较低的SQL语句236

18.1.3通过EXPLAIN分析低效SQL的执行计划236

18.1.4确定问题并采取相应的优化措施238

18.2索引问题239

18.2.1索引的存储分类239

18.2.2MySQL如何使用索引239

18.2.3查看索引使用情况244

18.3两个简单实用的优化方法245

18.3.1定期分析表和检查表245

18.3.2定期优化表246

18.4常用SQL的优化247

18.4.1大批量插入数据247

18.4.2优化INSERT语句249

18.4.3优化GROUPBY语句249

18.4.4优化ORDERBY语句250

18.4.5优化嵌套查询250

18.4.6MySQL如何优化OR条件252

18.4.7使用SQL提示254

18.5小结256

第19章优化数据库对象257

19.1优化表的数据类型257

19.2通过拆分提高表的访问效率259

19.3逆规范化260

19.4使用中间表提高统计查询速度261

19.5小结262

第20章锁问题263

20.1MySQL锁概述263

20.2MyISAM表锁263

20.2.1查询表级锁争用情况264

20.2.2MySQL表级锁的锁模式264

20.2.3如何加表锁265

20.2.4并发插入(ConcurrentInserts)268

20.2.5MyISAM的锁调度269

20.3InnoDB锁问题270

20.3.1背景知识270

20.3.2获取InnoDB行锁争用情况272

20.3.3nnoDB的行锁模式及加锁方法273

20.3.4InnoDB行锁实现方式277

20.3.5间隙锁(Next-Key锁)281

20.3.6恢复和复制的需要,对InnoDB锁机制的影响282

20.3.7InnoDB在不同隔离级别下的一致性读及锁的差异287

20.3.8什么时候使用表锁288

20.3.9关于死锁288

20.4小结295

第21章优化MySQLServer297

21.1查看MySQLServer参数297

21.2影响MySQL性能的重要参数300

21.2.1key_buffer_size的设置301

21.2.2table_cache的设置303

21.2.3innodb_buffer_pool_size的设置305

21.2.4innodb_flush_log_at_trx_commit的设置306

21.2.5innodb_additional_mem_pool_size的设置306

21.2.6innodb_lock_wait_timeout的设置307

21.2.7innodb_support_xa的设置307

21.2.8innodb_log_buffer_size的设置307

21.2.9innodb_log_file_size的设置308

21.3小结308

第22章磁盘I/O问题309

22.1使用磁盘阵列309

22.1.1常见RAID级别及其特性309

22.1.2如何选择RAID级别310

22.1.3虚拟文件卷或软RAID310

22.2使用SymbolicLinks分布I/O310

22.3禁止操作系统更新文件的atime属性311

22.4用裸设备(RawDevice)存放InnoDB的共享表空间312

22.5小结312

第23章应用优化313

23.1使用连接池313

23.2减少对MySQL的访问313

23.2.1避免对同一数据做重复检索313

23.2.2使用查询缓存314

23.2.3增加CACHE层315

23.3负载均衡315

23.3.1利用MySQL复制分流查询操作315

23.3.2采用分布式数据库架构316

23.4其他优化措施316

23.5小结316

第4部分管理维护篇

第24章MySQL高级安装和升级319

24.1Linux/UNIX平台下的安装319

24.1.1安装包比较319

24.1.2安装RPM包320

24.1.3安装二进制包320

24.1.4安装源码包321

24.1.5参数设置方法322

24.2源码包安装的性能考虑323

24.2.1去掉不需要的模块323

24.2.2只选择要使用的字符集324

24.2.3使用静态编译以提高性能324

24.3升级MySQL324

24.4MySQL降级326

24.5小结326

第25章MySQL中的常用工具327

25.1mysql(客户端连接工具)327

25.1.1连接选项327

25.1.2客户端字符集选项330

25.1.3执行选项331

25.1.4格式化选项332

25.1.5错误处理选项333

25.2myisampack(MyISAM表压缩工具)336

25.3mysqladmin(MySQL管理工具)338

25.4mysqlbinlog(日志管理工具)339

25.5mysqlcheck(MyISAM表维护工具)345

25.6mysqldump(数据导出工具)346

25.7mysqlhotcopy(MyISAM表热备份工具)350

25.8mysqlimport(数据导入工具)352

25.9mysqlshow(数据库对象查看工具)352

25.10perror(错误代码查看工具)355

25.11replace(文本替换工具)356

25.12小结357

第26章MySQL日志359

26.1错误日志359

26.2二进制日志360

26.2.1日志的位置和格式360

26.2.2日志的读取360

26.2.3日志的删除361

26.2.4其他选项364

26.3查询日志365

26.3.1日志的位置和格式365

26.3.2日志的读取365

26.4慢查询日志366

26.4.1文件位置和格式366

26.4.2日志的读取366

26.4.3其他选项368

26.5小结368

第27章备份与恢复371

27.1备份/恢复策略371

27.2逻辑备份和恢复371

27.2.1备份372

27.2.2完全恢复373

27.2.3基于时间点恢复374

27.2.4基于位置恢复375

27.3物理备份和恢复375

27.3.1冷备份375

27.3.2热备份375

27.4表的导入导出378

27.4.1导出378

27.4.2导入383

27.5小结386

第28章MySQL权限与安全387

28.1MySQL权限管理387

28.1.1权限系统的工作原理387

28.1.2权限表的存取387

28.1.3账号管理391

28.2MySQL安全问题401

28.2.1操作系统相关的安全问题401

28.2.2数据库相关的安全问题404

28.3其他安全设置选项423

28.3.1old-passwords423

28.3.2safe-user-create424

28.3.3secure-auth425

28.3.4skip-grant-tables426

28.3.5skip-network426

28.3.6skip-show-database427

28.4小结428

第29章MySQL复制429

29.1安装配置429

29.2主要复制启动选项433

29.2.1log-slave-updates433

29.2.2master-connect-retry433

29.2.3read-only433

29.2.4指定复制的数据库或者表435

29.2.5slave-skip-errors437

29.3日常管理维护437

29.3.1查看从服务器状态437

29.3.2主从服务器同步维护438

29.3.3从服务器复制出错的处理439

29.3.4logevententryexceededmax_allowed_packet的处理441

29.3.5多主复制时的自增长变量冲突问题441

29.3.6查看从服务器的复制进度444

29.4切换主从服务器446

29.5小结447

第30章MySQLCluster449

30.1MySQLCluster架构449

30.2MySQLCluster的配置450

30.2.1MySQLCluster的版本支持450

30.2.2管理节点配置步骤451

30.2.3SQL节点和数据节点的配置452

30.3开始使用Cluster453

30.3.1Cluster的启动453

30.3.2Cluster的测试455

30.3.3Cluster的关闭459

30.4维护Cluster460

30.4.1数据备份460

30.4.2数据恢复461

30.4.3日志管理463

30.5小结466

第31章MySQL常见问题和应用技巧467

31.1忘记MySQL的root密码467

31.2如何处理MyISAM存储引擎的表损坏468

31.2.1方法一468

31.2.2方法二469

31.3MyISAM表超过4GB无法访问的问题469

31.4数据目录磁盘空间不足的问题470

31.4.1对于MyISAM存储引擎的表470

31.4.2对于InnoDB存储引擎的表471

31.5DNS反向解析的问题471

31.6mysql.sock丢失后如何连接数据库472

31.7同一台服务器运行多个MySQL数据库472

31.8客户端怎么访问内网数据库473

31.9小结476

……

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有