Giới thiệu xxvii
Phần I Những bước đầu tiên với MySQL
Chương 1. Giới thiệu về MySQL 3
Nhiệm vụ của MySQL — Tốc độ, Độ tin cậy và Dễ sử dụng 3
Nền công ty 4
Phiên bản máy chủ cộng đồng và doanh nghiệp 5
Cộng đồng MySQL 6
Cách đóng góp 6
Lý do đóng góp 7
Tóm tắt 7
chương 2. Cài đặt và nâng cấp MySQL Server 9
Trước khi cài đặt 9
Chọn phiên bản MySQL 11
Hỗ trợ MySQL 12
Tải xuống 12
Cài đặt 12
Cài đặt máy chủ MySQL trên Unix 13
Cài đặt máy chủ MySQL trên Windows 20
Cài đặt MySQL từ Noinstall Zip Archive 24
Bắt đầu và dừng MySQL từ dòng lệnh Windows 25
Khởi động và dừng MySQL dưới dạng dịch vụ Windows 26
Cấu Hình Ban Đầu 29
Tệp cấu hình Unix 31
Tệp cấu hình Windows 31
Trình hướng dẫn cấu hình MySQL trên Windows 31
Cấu Hình Chi Tiết 32
Màn hình Loại máy chủ 33
Màn hình sử dụng cơ sở dữ liệu 33
Màn hình không gian bảng InnoDB 34
Màn hình Kết nối Đồng thời 34
Màn hình Networking Options và Strict Mode Options 34
Màn hình Bộ ký tự 35
Màn hình Tùy chọn Dịch vụ 35
Màn hình Tùy chọn bảo mật 35
Màn hình xác nhận 36
Cấu hình sau cài đặt MySQL trên Unix 36
Khởi tạo các bảng hệ thống 36
Đặt mật khẩu ban đầu 37
Gán mật khẩu người dùng root 37
Người dùng ẩn danh 39
Bảo vệ Hệ thống của Bạn 40
Cấu hình biến Windows PATH 42
Khởi động tự động 42
Bắt đầu và dừng mysqld trên Unix 42 dựa trên Hệ thống V
Hệ thống V chạy cấp độ 43
Nâng cấp mysqld 45
Nhật ký thay đổi MySQL 45
Nâng cấp MySQL trên Windows 46
Khắc phục sự cố 47
Tổng kết 48
Chương 3. Truy cập MySQL 49
Truy cập mysql bằng Công cụ dòng lệnh 49
Các tùy chọn thường dùng 50
Sử dụng máy khách mysql dòng lệnh 52
mysqladmin — Ứng dụng khách để quản trị máy chủ 62
Công cụ GUI 66
SQLyog 66
phpMyAdmin 69
Trình duyệt truy vấn MySQL 71
Quản trị viên MySQL 74
Bàn làm việc MySQL 80
Tổng kết 83
Phần II Phát triển với MySQL
Chương 4. Cách MySQL mở rộng và sai lệch so với SQL 87
Học Cấu trúc ngôn ngữ MySQL 88
Nhận xét và tính di động 88
Phân biệt chữ hoa chữ thường 90
Ký tự thoát 91
Giới hạn đặt tên và trích dẫn 93
Ký hiệu chấm 95
Múi giờ 97
Bộ ký tự và bộ sưu tập 98
Hiểu sai lệch MySQL 105
Đặc quyền và quyền 110
Quản lý giao dịch 110
Kiểm tra ràng buộc 111
Báo cáo Upsert 112
Sử dụng phần mở rộng MySQL 114
bí danh 115
Phần mở rộng bảng thay đổi 115
Tạo tiện ích mở rộng 118
Phần mở rộng DML 119
Tiện ích mở rộng thả 124
Phần mở rộng GIỚI HẠN 125
CHỌN Tiện ích mở rộng 126
Chọn vào Outfile/Chọn vào Dumpfile 126
Sql_Small_Result/Sql_Big_Result 127
Đơn đặt hàng của Liên minh bởi 127
Chọn Cập nhật 127
Chọn Lock In Share Mode 128
Phân biệt 128
Sql_Buffer_Result 129
High_Priority/Low_Priority 129
Gia hạn bảo trì máy chủ 129
Phần mở rộng Set và các biến do người dùng định nghĩa 131
Phần mở rộng Hiển thị 135
Phần mở rộng định nghĩa bảng 147
Phần mở rộng bảo trì bảng 150
Phần mở rộng sao kê giao dịch 156
Tổng kết 158
Chương 5. Các kiểu dữ liệu MySQL 159
Nhìn vào kiểu dữ liệu MySQL 159
Các kiểu chuỗi ký tự 160
Chiều dài 162
Thuộc tính kiểu chuỗi ký tự 164
Các kiểu chuỗi ký tự quốc gia 166
Các loại chuỗi đối tượng lớn nhị phân 168
Giá trị đốm màu 169
Giá trị nhị phân 169
Độ dài nhị phân 169
Chiều dài biến thể 170
Các loại số 170
Kích thước và phạm vi dữ liệu số 172
Thuộc tính kiểu dữ liệu số 177
Các kiểu Boolean 180
Các loại ngày giờ 183
Giá trị đầu vào được phép 185
Micro giây đầu vào 186
Cập nhật tự động 187
Vấn đề chuyển đổi 188
Hàm số và kiểu ngày giờ 188
Các vấn đề chuyển đổi khác 190
Thuộc tính kiểu dữ liệu ngày giờ 191
Ảnh hưởng của múi giờ 192
Các loại khoảng thời gian 193
Các loại ENUM và SET 195
bảng liệt kê 195
Thuộc tính kiểu dữ liệu ENUM và SET 198
Chọn chế độ SQL 201
Dữ liệu không hợp lệ 201
Chế độ SQL 203
Sử dụng giá trị NULL 211
Tìm kiếm một loại dữ liệu tối ưu cho dữ liệu hiện có 212
Các mẫu dữ liệu nhỏ và Phân tích thủ tục[] 215
Tổng hợp 217
Chương 6. Các loại chỉ mục MySQL 219
Nhìn vào Khóa và Chỉ mục 219
Sử dụng chỉ mục để tăng tốc độ tra cứu 221
Tạo và xóa chỉ mục 223
Lệnh chỉ mục 225
Độ dài chỉ số 226
Các loại chỉ mục 228
Chỉ số dự phòng 230
Tạo và loại bỏ các ràng buộc chính 231
Tạo và loại bỏ các ràng buộc khóa duy nhất 231
Tạo và loại bỏ các ràng buộc khóa ngoại 232
Ràng buộc khóa ngoại và thay đổi dữ liệu 234
Yêu cầu đối với ràng buộc khóa ngoại 235
Sử dụng Chỉ mục FULLTEXT 237
Tổng hợp 239
Chương 7. Các thói quen, trình kích hoạt và sự kiện được lưu trữ 241
So sánh các Quy trình, Trình kích hoạt và Sự kiện đã Lưu trữ 241
Sử dụng Trình kích hoạt 242
Tạo trình kích hoạt 243
Đánh rơi cò súng 244
Nhiều câu lệnh SQL trong trigger 245
Thay đổi trình kích hoạt 246
Kích hoạt trên dạng xem và bảng tạm thời 247
Kích hoạt hành vi thời gian chạy 248
Tìm tất cả các trigger 252
Kích hoạt lưu trữ và sao lưu 252
Kích hoạt và sao chép 254
Giới hạn kích hoạt 254
Sử dụng Stored Routines 255
Ý nghĩa hiệu suất của các thói quen được lưu trữ 256
Các thủ tục được lưu trữ so với các chức năng được lưu trữ 256
Tạo một thói quen được lưu trữ 256
Gọi thủ tục lưu trữ 259
Bỏ thói quen đã lưu trữ 261
Nhiều câu lệnh SQL trong các thói quen được lưu trữ 261
INOUT đối số cho một thủ tục được lưu trữ 261
Biến cục bộ 262
Hành vi thời gian chạy thường lệ được lưu trữ 264
Các tùy chọn khi tạo thói quen 265
Tạo một chức năng lưu trữ cơ bản 268
Cú pháp tạo hàm đầy đủ 269
Gọi một hàm được lưu trữ 269
Thay đổi một thói quen đã lưu trữ 270
đặt tên. thủ tục lưu trữ 271
Bộ kết quả thủ tục lưu trữ 273
Các lỗi và cảnh báo thông thường được lưu trữ 274
Điều kiện và xử lý 275
Kiểm soát lưu lượng định kỳ được lưu trữ 282
Đệ quy 284
Stored thường trình và nhân rộng 285
Giới hạn chức năng lưu trữ 285
Sao lưu và lưu trữ định kỳ được lưu trữ 286
Sử dụng con trỏ 287
Sử dụng Sự kiện 289
Bật bộ lập lịch sự kiện 289
Tạo sự kiện 291
Bỏ một sự kiện 292
Nhiều câu lệnh SQL trong sự kiện 293
Thời gian bắt đầu và kết thúc các sự kiện định kỳ 293
Trạng thái sự kiện 294
Tìm tất cả các biến cố 295
Thay đổi một sự kiện 295
Sau lần thực hiện cuối cùng của một sự kiện 296
Ghi nhật ký sự kiện 297
Hành vi thời gian chạy sự kiện 298
Giới hạn sự kiện 299
Sao lưu và lưu trữ sự kiện 300
Tóm tắt 300
Chương 8. Lượt xem MySQL 301
Xác định dạng xem 302
Xem giới hạn định nghĩa và hành vi không mong muốn 304
Bảo mật và quyền riêng tư 305
Chỉ định định nghĩa của chế độ xem 306
Trừu tượng hóa và đơn giản hóa 307
Hiệu suất 308
Lượt xem có thể cập nhật 313
Thay đổi Định nghĩa Chế độ xem 317
Sao chép và Chế độ xem 317
Tổng hợp 318
Chương 9. Giao dịch trong MySQL 319
Hiểu Tuân thủ ACID 320
Nguyên tử 321
Tính nhất quán 321
Cách ly 321
Độ bền 321
Sử dụng báo cáo giao dịch 322
Bắt đầu, Bắt đầu Công việc và Bắt đầu Giao dịch 322
Cam kết 322
Quay lui 322
Điểm lưu trữ 323
Tự động cam kết 324
Sử dụng các mức cô lập 325
Đọc không cam kết 329
Đọc cam kết 331
Đọc lặp lại 332
Có thể tuần tự hóa 334
Kiểm soát đồng thời nhiều phiên bản 335
Giải thích về Khóa và Bế tắc 336
Ổ khóa để bàn 338
Khóa cấp trang 341
Khóa cấp hàng 341
Khôi phục giao dịch MySQL 343
Tổng hợp 344
Phần III Quản trị MySQL cốt lõi
Chương 10. Điều chỉnh máy chủ MySQL 349
Chọn phần cứng tối ưu 349
Điều chỉnh hệ điều hành 352
Kiến trúc hệ điều hành 352
Hệ thống tập tin và phân vùng 353
Bộ đệm 356
Thông số hạt nhân 357
Linux 357
Các daemon khác 360
Điều chỉnh MySQL Server 360
Biến trạng thái 360
Biến hệ thống 361
Tệp tùy chọn 361
Biến động 371
Tổng hợp 373
chương 11. Công cụ lưu trữ 375
Tìm hiểu Công cụ lưu trữ 375
Công cụ lưu trữ dưới dạng plugin 376
So sánh động cơ lưu trữ 376
Sử dụng các công cụ lưu trữ khác nhau 378
Công cụ lưu trữ MyISAM 378
Công cụ lưu trữ InnoDB 384
Công cụ lưu trữ bộ nhớ 394
Động cơ lưu trữ Maria 396
Động cơ lưu trữ Falcon 401
Máy lưu trữ PBXT 410
Công cụ lưu trữ liên kết 415
Công cụ lưu trữ NDB 417
Công cụ lưu trữ lưu trữ 417
Công cụ lưu trữ lỗ đen 419
Công cụ lưu trữ CSV 420
Làm việc với Công cụ lưu trữ 421
Tạo bảng 421
Bảng thay đổi 421
Thả Bảng 422
Tổng hợp 422
Chương 12. Bộ nhớ đệm với MySQL 423
Thực hiện Cache Tables 424
Làm việc với Bộ đệm truy vấn 427
Những gì được lưu trữ trong bộ đệm truy vấn?
Truy vấn sử dụng bộ nhớ cache và điều chỉnh 429
Phân mảnh bộ đệm truy vấn 433
Sử dụng memcached 434
Tổng hợp 438
Chương 13. Sao lưu và phục hồi 439
Sao lưu MySQL 439
Sử dụng để sao lưu 441
Tần số dự phòng 443
Sao lưu gì 445
Vị trí sao lưu 445
Phương pháp sao lưu 445
Sao lưu trực tuyến 460
mysqlhotcopy 462
Quyền chọn thương mại 464
Sao chép cơ sở dữ liệu sang máy khác 467
Phục hồi sau sự cố 468
Lập kế hoạch cho thiên tai 471
Tổng hợp 472
Chương 14. Quản lý người dùng 473
Tìm hiểu về người dùng MySQL 473
Danh sách kiểm soát truy cập 474
Ký tự đại diện 475
Bảng hệ thống 476
Quản lý tài khoản người dùng 478
Cấp và Thu hồi lệnh 481
Hiển thị tài trợ và mk-show-grant 485
Đặt lại mật khẩu gốc 487
Máy chủ Windows 488
Máy chủ dựa trên Unix 489
Gỡ lỗi sự cố tài khoản người dùng 490
Mật khẩu sai 490
Vấn đề truy cập 491
Máy khách không hỗ trợ giao thức xác thực 491
Không thể kết nối với mysqld cục bộ thông qua socket ‘/path/to/mysqld. vớ’ 492
Tôi không có quyền phù hợp. 493
Tổng hợp 494
Chương 15. Phân vùng 495
Tìm hiểu về phân vùng 495
Bảng phân vùng 496
RANGE phân vùng 497
DANH SÁCH phân vùng 502
phân vùng HASH 503
KEY phân vùng 504
Phân vùng tổng hợp 504
Lệnh quản lý phân vùng 507
Hạn chế của phân vùng 510
Hợp nhất các bảng 510
Tạo bảng Hợp nhất 511
Thay đổi bảng Hợp nhất 512
Ưu điểm của Hợp nhất bảng 513
Phân vùng với MySQL Cluster 513
Phân vùng theo chương trình 514
Tổng hợp 514
Chương 16. Ghi nhật ký và sao chép 517
Tệp nhật ký 517
Nhật ký lỗi 517
Nhật ký nhị phân 518
Bản ghi chuyển tiếp 520
Nhật ký truy vấn chung và chậm 520
Nhật ký luân phiên 522
Các phương pháp quay khác 523
Sao chép 524
Thiết lập sao chép bán đồng bộ 525
Sao chép dựa trên câu lệnh, dựa trên hàng và dựa trên hỗn hợp 527
Cấu hình sao chép 529
Sao chép đơn giản 529
Thay đổi câu lệnh Master 534
Các thiết lập phức tạp hơn 534
Tùy chọn cấu hình sao chép bổ sung 539
Sửa dữ liệu trôi 540
mk-table-checksum tổng quan 540
mk-bảng-đồng bộ tổng quan 542
Đặt cái này lại với nhau 542
Tổng hợp 543
Chương 17. Đo hiệu suất 545
Điểm chuẩn 546
mysqlslap 547
SysBench 552
Đề xuất điểm chuẩn 565
Hồ sơ 566
Hiển thị trạng thái toàn cầu 566
mysqltuner 568
báo cáo mysql 572
mk-query-profiler 580
mysqldumpslow 583
Quy hoạch năng lực 585
Tổng hợp 585
Phần IV Mở rộng kỹ năng của bạn
Chương 18. Phân tích truy vấn và điều chỉnh chỉ mục 589
Sử dụng Giải thích 590
Giải thích cơ bản kế hoạch 590
Chiến lược truy cập dữ liệu 596
Giải thích chỉ số kế hoạch 606
Hàng 607
Thêm 608
Truy vấn phụ và giải thích 611
Giải thích Mở rộng 612
Giải thích về Non-Select Statements 614
Công cụ phân tích truy vấn khác 614
Tối ưu hóa truy vấn 615
Các yếu tố ảnh hưởng đến việc sử dụng khóa 615
Gợi ý trình tối ưu hóa 616
Thêm một chỉ mục 616
Đang tối ưu đi Dùng tạm 620
Sử dụng một chỉ mục bằng cách loại bỏ các chức năng 623
Lược đồ không chỉ mục thay đổi 626
Hoạt động hàng loạt tốn kém 628
Tối ưu hóa các hoạt động thường xuyên 629
Tổng hợp 631
Chương 19. Giám sát hệ thống của bạn 633
Quyết định Giám sát Cái gì 634
Kiểm tra giám sát mã nguồn mở 636
Nagios 636
xương rồng 637
Hyperic HQ 638
OpenNMS 640
Lõi Zenoss 641
Munin 642
643
Kiểm tra giám sát thương mại 644
Màn hình doanh nghiệp MySQL 644
MOYog 645
Tổng hợp 646
Chương 20. Bảo mật MySQL 649
Danh sách kiểm soát truy cập 649
Ký tự đại diện và giá trị trống 650
Các mức đặc quyền, đặc lợi 651
Truy cập hệ điều hành 654
Truy cập cơ sở dữ liệu 654
Thay đổi mặc định kết nối MySQL 654
Hệ điều hành đăng nhập 654
Bảo mật các bản sao lưu và nhật ký 656
Bảo mật dữ liệu 656
Luồng dữ liệu 657
Kết nối được mã hóa 659
Bảo mật dữ liệu bằng các đối tượng MySQL 664
Tạo chính sách bảo mật 665
Tổng hợp 666
Chương 21. Từ điển dữ liệu MySQL 667
Danh mục đối tượng 668
Lược đồ 668
Bàn 670
Lượt xem 674
Cột 676
Thống kê 679
Bảng_Ràng buộc 681
Khóa_Cột_Cách sử dụng 682
Reference_Constraints 684
Kích hoạt 685
Quy trình 686
Thông số 690
Sự kiện 691
Phân vùng 693
Thông tin hệ thống 695
Character_Sets 695
Bộ sưu tập 696
Đối chiếu_Ký tự_Bộ_Khả năng áp dụng 696
Động cơ 697
Plugin 697
Danh sách xử lý 698
Hồ sơ 709
Global_Variables 710
Phiên_Biến 710
Global_Status 711
Phiên_Trạng thái 711
Hiển thị quyền 711
Cột_Đặc quyền 712
Bảng_Đặc quyền 713
Schema_Privileges 714
Người dùng_Đặc quyền 715
Siêu dữ liệu dành riêng cho công cụ lưu trữ 716
Siêu dữ liệu tùy chỉnh 716
Xác định plugin 716
Biên dịch plugin 722
Cài đặt plugin 724
Tổng hợp 725
Chương 22. Kiến trúc mở rộng và tính sẵn sàng cao 727
Sao chép 728
Một đọc nô lệ 729
Quảng cáo một chủ mới 729
Nhiều đọc nô lệ 734
Sao chép chính/chính 735
Sao chép tròn 736
SAN 737
DRBD 738
Thiết lập MySQL và DRBD 738
Proxy MySQL 739
Thu nhỏ truy vấn đọc 740
Tự động chuyển đổi dự phòng 740
Đọc/ghi tách 742
Chia nhỏ 742
Nhịp tim Linux-HA 742
Cụm MySQL 744
Tổng hợp kết nối 746
bộ nhớ đệm 747
Tổng hợp 748
Phụ lục A. Proxy MySQL 749
Phụ lục B. Hàm và Toán Tử 783
Phụ lục C. Tài nguyên 813
Chỉ số 821