Muutke küpsiste eelistusi

Learning MySQL: Get a Handle on Your Data [Pehme köide]

  • Formaat: Paperback / softback, 550 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 31-Oct-2021
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492085928
  • ISBN-13: 9781492085928
Teised raamatud teemal:
  • Pehme köide
  • Hind: 63,19 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 74,34 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 550 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 31-Oct-2021
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492085928
  • ISBN-13: 9781492085928
Teised raamatud teemal:

Get a comprehensive overview on how to set up and design an effective database with MySQL. This thoroughly updated edition covers MySQL's latest version, including its most important aspects. Whether you're deploying an environment, troubleshooting an issue, or engaging in disaster and recovery, this practical guide provides the insights and tools necessary to take full advantage of this powerful RDBMS.

Authors Vinicius Grippa and Sergey Kuzmichev from Percona show developers and DBAs methods for minimizing costs and maximizing availability and performance. You'll learn how to perform basic and advanced querying, monitoring and troubleshooting, database management and security, backup and recovery, and tuning for improved efficiency. This edition includes new chapters on high availability, load balancing, and using MySQL in the cloud.

  • Get started with MySQL and learn how to use it in production
  • Deploy MySQL databases on bare metal, on virtual machines, and in the cloud
  • Design database infrastructures
  • Code highly efficient queries
  • Monitor and troubleshoot MySQL databases
  • Execute efficient backup and restore operations
  • Optimize database costs in the cloud
  • Understand database concepts, especially those pertaining to MySQL
Preface xiii
1 Installing MySQL 1(58)
MySQL Forks
2(1)
MySQL Community Edition
2(1)
Percona Server for MySQL
2(1)
MariaDB Server
2(1)
MySQL Enterprise Edition
2(1)
Installation Choices and Platforms
3(2)
1 Download the Distribution that You Want to Install
4(1)
2 Install the Distribution
4(1)
3 Perform Any Necessary Post-Installation Setup
4(1)
4 Run Benchmarks
4(1)
Installing MySQL on Linux
5(22)
Installing MySQL on CentOS 7
5(7)
Installing MySQL on CentOS 8
12(7)
Installing MySQL on Ubuntu 20.04 LTS (Focal Fossa)
19(8)
Installing MySQL on macOS Big Sur
27(6)
Installing MySQL on Windows 10
33(7)
The Contents of the MySQL Directory
40(4)
MySQL 5.7 Default Files
41(3)
MySQL 8.0 Default Files
44(1)
Using the Command-Line Interface
44(1)
Using Docker
45(5)
Installing Docker
45(5)
Using Sandboxes
50(4)
Installing DBdeployer
51(1)
Using DBdeployer
51(3)
Upgrading MySQL Server
54(5)
2 Modeling and Designing Databases 59(30)
How Not to Develop a Database
59(3)
The Database Design Process
62(1)
The Entity Relationship Model
62(12)
Representing Entities
63(3)
Representing Relationships
66(1)
Partial and Total Participation
67(1)
Entity or Attribute?
68(2)
Entity or Relationship?
70(1)
Intermediate Entities
71(1)
Weak and Strong Entities
72(2)
Database Normalization
74(2)
Normalizing an Example Table
76(1)
First Normal Form: No Repeating Groups
76(1)
Second Normal Form: Eliminate Redundant Data
76(1)
Third Normal Form: Eliminate Data Not Dependent on Key
77(1)
Entity Relationship Modeling Examples
77(6)
Using the Entity Relationship Model
83(6)
Mapping Entities and Relationships to Database Tables
83(1)
Creating a Bank Database ER Model
84(1)
Converting the EER to a MySQL Database Using Workbench
85(4)
3 Basic SQL 89(38)
Using the sakila Database
90(2)
The SELECT Statement and Basic Querying Techniques
92(19)
Single-Table SELECTS
93(1)
Choosing Columns
94(2)
Selecting Rows with the WHERE Clause
96(9)
The ORDER BY Clause
105(2)
The LIMIT Clause
107(2)
Joining Two Tables
109(2)
The INSERT Statement
111(6)
INSERT Basics
111(3)
Alternative Syntaxes
114(3)
The DELETE Statement
117(3)
DELETE Basics
117(1)
Using WHERE, ORDER BY, and LIMIT
118(1)
Removing All Rows with TRUNCATE
119(1)
The UPDATE Statement
120(1)
Examples
120(1)
Using WHERE, ORDER BY, and LIMIT
121(1)
Exploring Databases and Tables with SHOW and mysqlshow
121(6)
4 Working with Database Structures 127(52)
Creating and Using Databases
127(3)
Creating Tables
130(40)
Basics
130(3)
Collation and Character Sets
133(2)
Other Features
135(3)
Column Types
138(23)
Keys and Indexes
161(6)
The AUTO_INCREMENT Feature
167(3)
Altering Structures
170(7)
Adding, Removing, and Changing Columns
170(4)
Adding, Removing, and Changing Indexes
174(2)
Renaming Tables and Altering Other Structures
176(1)
Deleting Structures
177(2)
Dropping Databases
177(1)
Removing Tables
178(1)
5 Advanced Querying 179(60)
Aliases
179(6)
Column Aliases
180(2)
Table Aliases
182(3)
Aggregating Data
185(12)
The DISTINCT Clause
185(2)
The GROUP BY Clause
187(8)
The HAVING Clause
195(2)
Advanced Joins
197(18)
The Inner Join
197(3)
The Union
200(6)
The Left and Right Joins
206(5)
The Natural Join
211(1)
Constant Expressions in Joins
212(3)
Nested Queries
215(19)
Nested Query Basics
215(3)
The ANY, SOME, ALL, IN, and NOT IN Clauses
218(7)
The EXISTS and NOT EXISTS Clauses
225(6)
Nested Queries in the FROM Clause
231(2)
Nested Queries in JOINS
233(1)
User Variables
234(5)
6 Transactions and Locking 239(22)
Isolation Levels
241(7)
REPEATABLE READ
242(1)
READ COMMITTED
243(1)
READ UNCOMMITTED
244(1)
SERIALIZABLE
245(3)
Locking
248(11)
Metadata Locks
249(5)
Row Locks
254(3)
Deadlocks
257(2)
MySQL Parameters Related to Isolation and Locks
259(2)
7 Doing More with MySQL 261(46)
Inserting Data Using Queries
261(6)
Loading Data from Comma-Delimited Files
267(7)
Writing Data into Comma-Delimited Files
274(3)
Creating Tables with Queries
277(4)
Performing Updates and Deletes with Multiple Tables
281(7)
Deletion
281(5)
Updates
286(2)
Replacing Data
288(4)
The EXPLAIN Statement
292(5)
Alternative Storage Engines
297(10)
InnoDB
300(1)
MyISAM and Aria
301(1)
MyRocks and TokuDB
302(2)
Other Table Types
304(3)
8 Managing Users and Privileges 307(44)
Understanding Users and Privileges
307(2)
The root User
309(1)
Creating and Using New Users
310(7)
Grant Tables
317(2)
User Management Commands and Logging
319(2)
Modifying and Dropping Users
321(7)
Modifying a User
321(4)
Dropping a User
325(3)
Privileges
328(13)
Static Versus Dynamic Privileges
330(1)
The SUPER Privilege
331(1)
Privilege Management Commands
332(3)
Checking Privileges
335(2)
The GRANT OPTION Privilege
337(4)
Roles
341(6)
Changing root's Password and Insecure Startup
347(2)
Some Ideas for Secure Setup
349(2)
9 Using Option Files 351(18)
Structure of the Option File
351(5)
Scope of Options
356(3)
Search Order for Option Files
359(1)
Special Option Files
360(4)
Login Path Configuration File
360(2)
Persistent System Variables Configuration File
362(2)
Determining the Options in Effect
364(5)
10 Backups and Recovery 369(42)
Physical and Logical Backups
370(4)
Logical Backups
370(2)
Physical Backups
372(1)
Overview of Logical and Physical Backups
373(1)
Replication as a Backup Tool
374(2)
Infrastructure Failure
375(1)
Deployment Bug
375(1)
The mysqldump Program
376(6)
Bootstrapping Replication with mysqldump
382(1)
Loading Data from a SQL Dump File
382(1)
mysqlpump
383(2)
mydumper and myloader
385(2)
Cold Backup and Filesystem Snapshots
387(1)
Percona XtraBackup
388(8)
Backing Up and Recovering
390(3)
Advanced Features
393(1)
Incremental Backups with XtraBackup
394(2)
Other Physical Backup Tools
396(1)
MySQL Enterprise Backup
396(1)
mariabackup
396(1)
Point-in-Time Recovery
397(5)
Technical Background on Binary Logs
398(1)
Preserving Binary Logs
399(1)
Identifying a PITR Target
399(2)
Point-in-Time-Recovery Example: XtraBackup
401(1)
Point-in-Time-Recovery Example: mysqldump
402(1)
Exporting and Importing InnoDB Tablespaces
402(5)
Technical Background
403(1)
Exporting a Tablespace
403(2)
Importing a Tablespace
405(1)
XtraBackup Single-Table Restore
406(1)
Testing and Verifying Your Backups
407(2)
Database Backup Strategy Primer
409(2)
11 Configuring and Tuning the Server 411(16)
The MySQL Server Daemon
411(1)
MySQL Server Variables
412(15)
Checking Server Settings
412(1)
Best Practices
413(14)
12 Monitoring MySQL Servers 427(62)
Operating System Metrics
428(22)
CPU
428(8)
Disk
436(5)
Memory
441(5)
Network
446(4)
MySQL Server Observability
450(24)
Status Variables
451(2)
Basic Monitoring Recipes
453(14)
The Slow Query Log
467(4)
InnoDB Engine Status Report
471(3)
Investigation Methods
474(3)
The USE Method
474(2)
RED Method
476(1)
MySQL Monitoring Tools
477(6)
Incident/Diagnostic and Manual Data Collection
483(6)
Gathering System Status Variable Values Periodically
483(1)
Using pt-stalk to Collect MySQL and OS Metrics
484(1)
Extended Manual Data Collection
485(4)
13 High Availability 489(24)
Asynchronous Replication
490(17)
Basic Parameters to Set on the Source and the Replica
492(1)
Creating a Replica Using PerconaXtraBackup
493(2)
Creating a Replica Using the Clone Plugin
495(3)
Creating a Replica Using mysqldump
498(1)
Creating a Replica Using mydumper and myloader
499(2)
Group Replication
501(6)
Synchronous Replication
507(6)
Galera/PXC Cluster
509(4)
14 MySQL in the Cloud 513(22)
Database-as-a-Service (DBaaS)
513(13)
Amazon RDS for MySQL/MariaDB
514(5)
Google Cloud SQL for MySQL
519(4)
Azure SQL
523(3)
Amazon Aurora
526(1)
MySQL Cloud Instances
527(1)
MySQL in Kubernetes
527(8)
Deploying Percona XtraDB Cluster in Kubernetes
529(6)
15 Load Balancing MySQL 535(18)
Load Balancing with Application Drivers
535(1)
ProxySQL Load Balancer
536(6)
Installing and Configuring ProxySQL
538(4)
HAProxy Load Balancer
542(5)
Installing and Configuring HAProxy
543(4)
MySQL Router
547(6)
16 Miscellaneous Topics 553(24)
MySQL Shell
553(10)
Installing MySQL Shell
553(1)
Installing MySQL Shell on Ubuntu 20.04 Focal Fossa
553(1)
Installing MySQL Shell on CentOS 8
554(1)
Deploying a Sandbox InnoDB Cluster with MySQL Shell
555(4)
MySQL Shell Utilities
559(4)
Flame Graphs
563(2)
Building MySQL from Source
565(5)
Building MySQL for Ubuntu Focal Fossa and ARM Processors
566(4)
Analyzing a MySQL Crash
570(7)
Index 577