Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách cài đặt MySQL 5.7 trên Amazon Ec2

Đây là một tương đối thiết lập nhanh MySQL 5.7.14 trên Red Hat Enterprise Linux phiên bản 7 (RHEL7).

Tôi không liên kết với AWS; Tôi chỉ thích sử dụng dịch vụ của họ.

Đảm bảo bạn có tài khoản AWS EC2. Lưu ý rằng mặc dù Amazon yêu cầu thẻ tín dụng trong hồ sơ, nhưng sẽ không có phí phát sinh trong năm đầu tiên nếu bạn tuân thủ Bậc miễn phí điều kiện. Thông thường, điều này có nghĩa là một máy chủ micro-instance (RAM 1 Gb) chạy 24/7.

Khởi chạy phiên bản EC2 RHEL

Bước 1: Trên AWS EC2, nhấp vào "Launch Instance" và chọn "Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16" như trong hình bên dưới. Lưu ý rằng các phiên bản của AMI có sẵn hoặc được quảng cáo (Amazon Machine Instance) sẽ thay đổi theo thời gian và điều này là như của bài viết này. Nhưng số AMI được hiển thị ở trên trong văn bản.

Thông thường, tôi đã chọn Amazon Linux AMI làm bản phân phối mà mình lựa chọn. Tôi không làm điều đó nữa vì đó là vấn đề của riêng họ và đương nhiên là không chắc chắn về việc chọn trình quản lý gói nào và do đó là các tệp. Vì vậy, tôi gắn bó với RHEL ngay bây giờ.

Trên màn hình "Chọn loại phiên bản", hãy chọn loại phiên bản đủ điều kiện cấp miễn phí như được thấy bên dưới:

Bấm tiếp. Trên màn hình Chi tiết tiếp theo, nhấp vào "Tiếp theo" để chấp nhận các giá trị mặc định. Trên màn hình lưu trữ thay đổi kích thước thành 16GB và nhấp vào "Tiếp theo". Sau đó, "Tiếp theo" một lần nữa trên Thông tin thẻ. Tiếp theo là màn hình "Định cấu hình Nhóm bảo mật" như hình bên dưới:

Chấp nhận nút radio "🔘 tạo nhóm bảo mật mới" ngay bây giờ. Lưu ý rằng cổng SSH 22 được mở cho tất cả (Mọi nơi) địa chỉ IP có 0.0.0.0/0 CIDR . Các tùy chọn khác bao gồm phát hiện "IP của tôi" (như trong của bạn) hoặc "Tùy chỉnh". Hãy yên tâm rằng với lần truy cập màn hình tiếp theo sẽ bị khóa dựa trên Khóa bảo mật mà chúng tôi sẽ thiết lập. Có một nút cho Thêm quy tắc dưới các cổng mở để thêm các cổng như MySQL 3306 hoặc HTTP 80. Nhưng bây giờ chúng ta sẽ bỏ qua điều đó. Lưu ý tên nhóm bảo mật. Điền vào một hoặc chấp nhận giá trị mặc định ngay bây giờ. Việc thực hiện quyền này không quan trọng vì nhóm bảo mật có thể được thay đổi sau này cho một Phiên bản đang chạy . Nhấp vào Xem lại và Khởi chạy.

Sau đó nhấp vào "Khởi chạy" (đừng lo, nó sẽ không Khởi chạy). Như màn hình tiếp theo trình bày:

Lưu ý rằng vì tôi đã tạo một số cặp khóa, nên nó được mặc định là "Chọn một cặp khóa hiện có" trong menu thả xuống đầu tiên. Nếu không, bạn "Tạo cặp khóa mới" với tên nhắc nhở đã cho và tiến hành "Tải xuống cặp khóa". Tại thời điểm này, bạn có Cặp khóa dưới dạng .pem tập tin. Hãy xử lý điều đó với mức độ bảo mật cao nhất, lưu nó vào một nơi mà bạn sẽ không làm mất nó. Tốt hơn là trong khu vực được bảo vệ bằng mật khẩu, chẳng hạn như trong Thư mục người dùng hệ điều hành của bạn.

Cuối cùng khi bạn nhấp vào "Khởi chạy phiên bản" trên cùng màn hình này, quá trình khởi chạy sẽ diễn ra liên quan đến cặp khóa đó (vừa được tạo hoặc đã có từ trước). Lưu ý, việc tạo cặp khóa có thể là nhiệm vụ bạn chỉ thực hiện mỗi năm một lần. Sử dụng lại cặp khóa nhiều lần, tùy thuộc vào bạn.

Sau khi bạn khởi chạy phiên bản, bạn có khoảng năm phút trước khi nó xuất hiện trực tuyến. Trong mục menu bên trái Phiên bản, bạn biết phiên bản đang hoạt động khi Trạng thái phiên bản đọc "đang chạy" và Kiểm tra trạng thái ghi "2/2 đã thông qua":

Nhớ .pem tệp mà bạn đã tải xuống? Chỉ một lần bạn cần tạo .ppk tệp ra khỏi đó cho PuTTY, một chương trình khách SSH sẽ giao tiếp được bảo mật bằng mật mã với phiên bản đang chạy của bạn. Để làm được điều đó, chúng tôi sử dụng puttygen công cụ hoạt động hài hòa với PuTTY. Vì vậy, chúng tôi chạy puttygen, tải .pem đã tải xuống vài phút trước đó và tạo .ppk tệp có "Cụm mật khẩu chính" chẳng hạn như "I &love% ancHovies2_fjdi8Ha". Dưới đây là hình ảnh của puttygen:

Và trang AWS EC2 có tên Kết nối với Phiên bản Linux của bạn từ Windows bằng PuTTY . Các bước là Tệp / Tải khóa cá nhân. Thay đổi bộ lọc thành Tất cả các tệp (. ). Tìm .pem tập tin. Nhấn "Mở", sau đó nhấn "Ok". Nhập Cụm mật khẩu. Nhấp vào "lưu khóa cá nhân" và lưu nó trong cùng một thư mục dưới dạng .ppk cùng với .pem của bạn tập tin. Như đã đề cập, đây không phải là điều bạn có thể làm mà là hàng năm.

Bây giờ chạy PuTTY, máy khách SSH. Sử dụng Tên phiên / Máy chủ lưu trữ như một cái gì đó giống như

[email protected]

Vì vậy, về cơ bản nó là [email protected] được nối với tên DNS công cộng được nhìn thấy trong Phiên bản trên Bảng điều khiển EC2. Đối với việc chỉ định PuTTY .ppk , nó sẽ giống như bên dưới, với .ppk tệp được chọn bên cạnh nút Duyệt qua:

Quay lại phân cấp phía trên bên trái của Phiên được hiển thị bên dưới, đặt tên tiểu sử này trong Phiên đã lưu và nhấn "Lưu". Sau đó khi bạn tải PuTTY, bạn chỉ cần tải phiên theo tên:

Đừng quên rằng tất cả những gì bạn đang làm ở đây là lưu .ppk tham chiếu vào một hồ sơ có tên thân thiện. Và bạn có thể thỉnh thoảng cần thay đổi Tên máy chủ (chắc chắn là khi bạn lưu hình ảnh Phiên bản trên EC2 và quay lại với địa chỉ IP Phiên bản mới trong lần khởi chạy tiếp theo).

Ok, nó không phải là dễ dàng. Nhưng nó là những gì nó là.

Khi bạn nhấp vào Mở, nó sẽ cố gắng kết nối với phiên bản RHEL của bạn. Nhấn Có trên cảnh báo chữ ký. Nhập .ppk đã lưu trước đó Cụm mật khẩu khóa, và bạn sẽ thấy một lời nhắc Linux.

Cài đặt MySQL (Tôi sẽ đưa những ghi chú này lên GitHub)

URL01:Tải xuống MySQL Yum Repository

URL02:Cài đặt Chương 1 MySQL trên Linux bằng MySQL Yum Repository

Bây giờ bạn đã tải và chạy MySQL 5.7.14 trên EC2 với cơ sở dữ liệu và thiết lập người dùng. Máy chủ của bạn cần được chụp ảnh. Xem câu trả lời này tại đây của tôi để tạo hình ảnh (AMI's). Sao lưu dữ liệu của bạn. Xem tài liệu EC2 chẳng hạn như Các phương pháp hay nhất cho Amazon EC2 .

Quay lại vấn đề bảo mật:các phương pháp hay nhất chắc chắn khuyên bạn không nên mở db của mình để kết nối trực tiếp thông qua Nhóm bảo mật cho cổng 3306. Cách bạn chọn để tuân theo điều đó là lựa chọn của bạn, chẳng hạn như với PHP, Java hoặc API lập trình khác. Lưu ý rằng các chương trình khách db khác nhau có thể kết nối thông qua các đường hầm SSH như MySQL Workbench. Ngoài ra, có nhiều thư viện phát triển khác nhau tồn tại với SSH Tunnels nhưng chúng không dễ phát triển một cách khủng khiếp (chủ yếu là do chuỗi khóa khó và thiếu kinh nghiệm của nhà phát triển). Ví dụ:có một tài khoản cho C # tại đây .

Ngoài ra, AWS còn cung cấp RDS và cơ sở dữ liệu khác để bạn bớt thao tác hơn và tự làm như ở trên. Lý do nhiều nhà phát triển nhắm mục tiêu vào EC2 là do bạn có một máy chủ hoàn chỉnh cho các sáng kiến ​​lập trình khác của mình.

Nếu bạn sửa đổi Nhóm bảo mật như đã đề cập trước đây, hãy cân nhắc sử dụng Dải IP dựa trên các mục nhập CIDR và ​​hãy thận trọng trước khi để lộ quá nhiều kho dữ liệu của bạn. Hoặc cấp quá mức. Các phương pháp hay nhất giống như cách bạn làm đối với công việc tại chỗ.

Liên quan đến phần MySQL này, ghi chú GitHub của tôi cho một số hình ảnh ở trên được đặt tại Tại đây .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL có kèm theo MAMP không bao gồm tệp cấu hình không?

  2. MySQL Many-To-Many Lựa chọn

  3. Biểu mẫu PHP không chèn vào cơ sở dữ liệu mySQL

  4. Múi giờ MySQL

  5. Không thể truy xuất siêu dữ liệu của dự án. Đảm bảo đó là một dự án .NET Core dựa trên MSBuild