Thứ tư, 13/11/2013 | 00:00 GMT+7

Cách cài đặt MySQL 5.6 từ kho lưu trữ chính thức của Yum

Etherpad là một công cụ cộng tác đa user trong thời gian thực, chủ yếu để phát triển chương trình và thiết kế web. Trong hướng dẫn này, ta sẽ tập trung vào việc chạy Etherpad trên VPS CentOS 6.4 ( server cloud )

Trong hướng dẫn này, ta sẽ cài đặt MySQL 5.6 trên bản cài đặt mới của Centos 6, sau đó áp dụng một vài thao tác bổ sung để tối ưu hóa cấu hình.

Nếu bạn chưa quen với những thay đổi đối với MySQL 5.6, tôi khuyên bạn nên bắt đầu với Có gì mới trong MySQL 5.6 . Có một số tính năng rất hữu ích.

Chọn server

Hôm nay, tôi sẽ chọn server $ 40 / tháng, vì nó bao gồm RAM 4G và SSD 60 GB, nhưng bạn có thể tự do chọn kích thước khác nhau tùy thuộc vào nhu cầu của ứng dụng của bạn. MySQL có thể cài đặt trên các hệ thống có dung lượng RAM rất nhỏ, cũng như quy mô lên đến hơn 100GB. Nếu bạn chọn kích thước server khác, vui lòng đảm bảo điều chỉnh lời khuyên cấu hình được đề xuất bên dưới:

<img src = “https://assets.digitalocean.com/articles/centos_mysql/select-size.png”>

Các repository chính thức hỗ trợ cả Enterprise Linux 6 32-bit và 64-bit, cũng như Fedora 18 & 19. CentOS là C ommunity Ent erprise O perating S ystem và hoạt động tốt cho mục đích này:

<img src = “https://assets.digitalocean.com/articles/centos_mysql/centos-6.png”>

Cài đặt MySQL

Tệp repository yum cần được download từ trang web dành cho nhà phát triển của MySQL. Sau khi được cài đặt, một yum update đơn giản sẽ đảm bảo bạn đang chạy trên bản phát hành điểm mới nhất của MySQL 5.6, bao gồm cả các bản cập nhật bảo mật. Yum cũng đảm bảo bất kỳ phụ thuộc nào cũng được cài đặt, điều này làm cho quá trình cài đặt trở nên đơn giản hơn một chút.

Để bắt đầu, hãy truy cập http://dev.mysql.com/downloads/repo/ và nhấp vào liên kết download cho Red Hat Enterprise Linux 6 / Oracle Linux 6:

<img src = “https://assets.digitalocean.com/articles/centos_mysql/download-el6.png”>

Sau đó sao chép liên kết dưới 'Không, cảm ơn, chỉ cần bắt đầu download của tôi' :

<img src = “https://assets.digitalocean.com/articles/centos_mysql/no-thanks-link.png”>

Đăng nhập vào server và sau đó download file này. Dưới đây là URL ví dụ - bạn có thể cần kiểm tra kỹ xem không có version repo mới hơn :

wget http://dev.mysql.com/get/mysql-community-release-el6-3.noarch.rpm/from/http://repo.mysql.com/ 

Cài đặt repository từ file local :

sudo yum localinstall mysql-community-release-el6-*.noarch.rpm 

Đến đây bạn đã cài đặt repository chính thức trên server nhưng chưa cài đặt phần mềm nào. Kho lưu trữ bao gồm MySQL Server, công cụ quản trị MySQL Workbench và trình điều khiển ODBC. Hãy cài đặt MySQL Server:

sudo yum install mysql-community-server 

Khởi động MySQL:

sudo service mysqld start 

Cấu hình MySQL để bắt đầu tự động khi khởi động lại:

sudo chkconfig mysqld on chkconfig --list mysqld 

Đó là nó. Bạn đã sẵn sàng!

Áp dụng các lần chạm hoàn thiện


Group phát triển MySQL đã nỗ lực rất nhiều đảm bảo MySQL được điều chỉnh tốt hơn và 5.6 yêu cầu rất ít cấu hình. Đã nói rằng, sẽ có một số thứ bạn muốn tinh chỉnh, có thể được thêm vào /etc/my.cnf trong group tiêu đề [mysqld] :

sudo vim /etc/my.cnf 
  • Bạn nên đặt innodb_buffer_pool_size thành 50-80% bộ nhớ hệ thống. Trong trường hợp server tôi đã chọn, 50% của 4GB = 2GB. Điều này cho phép MySQL lưu trữ nhiều dữ liệu hơn (mặc định chỉ là 128M) và có thể cải thiện hiệu suất đáng kể .

  • MySQL mặc định có log giao dịch rất nhỏ, đây là một tính năng được sử dụng để cung cấp khôi phục sự cố. Trong quá trình phát triển, các file log nhỏ có thể hữu ích để tiết kiệm dung lượng, nhưng trong quá trình production , bạn cần tăng chúng lên để cho phép nhiều lần ghi hơn xếp hàng trong nền. Cài đặt là innodb_log_file_size và các giá trị được đề xuất nằm trong repository ảng từ 128M đến 4G.

  • Khi sử dụng SSD, IO tuần tự không nhanh hơn IO ngẫu nhiên. Điều này nghĩa là ta có thể nói với MySQL rằng nó có thể vô hiệu hóa một trong những tối ưu hóa mà nó thực hiện và tiết kiệm một chút CPU. Cài đặt là innodb_flush_neighbors=0 .

  • Theo mặc định, MySQL đặc biệt thận trọng để không mất bất kỳ dữ liệu nào ngay cả khi mất điện . Điều này đi kèm với chi phí hiệu suất và trong nhiều môi trường cloud , user đã chọn để cho phép mất vài giây dữ liệu khi mất điện. Cài đặt cần thay đổi là innodb_flush_log_at_trx_commit=2 .

  • UTF-8 là một mặc định tốt hơn để lưu trữ các ký tự quốc tế trong MySQL. Bạn có thể thay đổi nó bằng cách đặt character-set-server=utf8mb4collation-server=utf8mb4_general_ci . Database , bảng và cột riêng lẻ vẫn có thể overrides điều này nếu cần.

  • Nhiều syadmins khuyên bạn nên đặt múi giờ của server thành GMT, có thể được thực hiện với timezone=GMT .

  • Để đảm bảo khả năng tương thích với các version cũ hơn, MySQL mặc định cho phép các giá trị không chính xác và nằm ngoài phạm vi. Tôi khuyên bạn nên bật các tùy chọn SQL_MODE mới chặt chẽ hơn miễn là (các) ứng dụng của bạn không dựa trên hành vi MySQL cũ này.

* Tất cả cùng nhau, đây là những thay đổi:

innodb_buffer_pool_size=2G innodb_log_file_size=256M innodb_flush_neighbors=0 innodb_flush_log_at_trx_commit=2  # Default to UTF-8 for text columns character-set-server=utf8mb4 collation-server=utf8mb4_general_ci  # Set the default timezone to GMT. # This is a common recommended practice, but can also remove this line # If your date/time values appear incorrect. timezone=GMT  # This configuration item is optional: # It makes MySQL more strict and rejects invalid values. # You may need to remove this line for legacy applications. sql-mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY" 

Đọc thêm


Đến đây là kết thúc việc cài đặt cơ bản của MySQL 5.6 bằng cách sử dụng repo chính thức của yum. Group MySQL muốn nghe phản hồi của bạn. Nếu bạn gặp bất kỳ vấn đề nào hoặc chỉ cần có đề xuất, vui lòng truy cập http://forums.mysql.com/list.php?11 .

Tôi cũng có một version nâng cao hơn về những gì cần cấu hình trong MySQL 5.6 sau khi cài đặt có sẵn trên blog của tôi. Nhưng hãy yên tâm, nếu bạn đã làm theo các bước trong bài viết này, bạn đã đi đến 95% con đường đó!


Tags:

Các tin liên quan

Cách tối ưu hóa các truy vấn và bảng trong MySQL và MariaDB trên VPS
2013-11-11
Cách bảo mật sao chép MySQL bằng SSH trên VPS
2013-09-18
Cách tạo và quản lý database trong MySQL và MariaDB trên server cloud
2013-07-29
Cách thực hiện các truy vấn cơ bản trong MySQL và MariaDB trên server cloud
2013-07-29
Cách cài đặt Etherpad cho Sản xuất với Node.js và MySQL trên VPS
2013-07-26
Cách bảo mật database MySQL và MariaDB trong VPS Linux
2013-07-23
Chuyển sang MariaDB từ MySQL
2013-07-18
Cách di chuyển database MySQL giữa hai server
2012-08-09
Cách thiết lập Master Slave Replication trong MySQL
2012-07-25
Cách nhập và xuất database và đặt lại mật khẩu gốc trong MySQL
2012-06-12