By James Pyles
Tahaghoghi's and Williams' book is comprehensive and focused. Learning MySQL teaches the reader how to install, configure, and use the MySQL open source database. It also introduces a number of related technologies, like Apache, PHP, and Perl.
The book is primarily written for readers who "don't know much about deploying and using an actual database-management system, or about developing applications that use a database". Readers should be familiar with the concept of databases and browser-side development, and be ready to transition to the next phase - working with databases.
The introductory chapters set the tone for the rest of the book. For example, reading Chapter 2, Installing MySQL, was a marvel. The instructions were complete across all operating system platforms, installation methods, and even the various Linux distribution package handlers. LAMP and XAMPP were also included, and I couldn't find a weak spot in Tahaghoghi's and Williams' coverage.
After covering the basics of the SQL language, database structures, querying, and the like, "Advanced Topics" include backup and recovery, using an options file, and server configuration and management. Apache, PHP, and Perl are addressed in the latter portions of this text. These technologies are necessary for the reader to understand how MySQL interacts with web-development platforms and server-side programming languages to optimally provide services.
I recommend Tahaghoghi's and Williams' Learning MySQL as an introduction to database solutions, especially as applied to web development. Buy this book and you won't be disappointed.
Seyed M.M. (Saied) Tahaghoghi and Hugh Williams
Paperback; 618 pages
£ 22.81, US$ 44.95, EUR 33.87
The author states that the primary goal of the book is to bring all the documentation on Linux kernel development under one roof. His "secret" goal is to bring more people into Linux kernel development. No programming experience is necessary, but being familiar with using Linux, and especially experience with the shell, is helpful.
In short, you don't have to be a "Linux guru" to buy and use this book; you just have to want to get "under the hood". This book gives you a fantastic opportunity to customize your own Linux kernel to your tastes and requirements, which is something you'll never get the chance to do with a Microsoft Windows system. If you want to "roll your own" kernel, or at least understand what makes Linux "Linux", read on.
Kroah-Hartman gets right to work describing the tools that you'll need in order to build and use the kernel, where to find them, and how to install them. With only 198 pages to work with (this is including the appendices), the text wastes no time and space on pleasantries (but then again, that's what the "In a Nutshell" series is all about). Despite the speed of this "tour", it covers everything you'll need to know about retrieving, configuring, building, and installing the kernel.
As I write this review, the latest stable version of the kernel is 184.108.40.206. The text focuses on the 2.6 version in general, so any subsequent advances in kernel development between the writing of the book and your reading it shouldn't be an obstacle.
The book is advertised as being "user-friendly" to non-programmers, but it's better if the reader has at least some familiarity with writing and compiling code. The Linux kernel is written mainly in the C language, which is widely known among programmers. Being familiar with basic programming will give the reader more confidence in using the material.
That said, you can't go wrong with adding Linux Kernel in a Nutshell to your library.
Paperback; 198 pages
£ 18.04, US$ 34.99, EUR 26.74
Paperback; 528 pages
No Starch Press, 2006
£ 20.28, US$ 39.95, EUR 30.11