Ubuntu 18.04 có đi kèm với MySQL không?

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở được hỗ trợ bởi Oracle dựa trên Ngôn ngữ truy vấn có cấu trúc (SQL)

Hướng dẫn này sẽ mô tả cách cài đặt máy chủ cơ sở dữ liệu MySQL trên Ubuntu 18. 04 máy chủ

điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn sẽ cần

Một Ubuntu 18. 04 Máy chủ được thiết lập bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu này, bao gồm người dùng không phải root sudo và tường lửa

Bước 1 - Cài đặt MySQL

Tại thời điểm viết bài này, phiên bản MySQL mới nhất có sẵn từ Ubuntu 18 chính thức. 04 kho lưu trữ là phiên bản MySQL 5. 7

Để cài đặt MySQL trên máy chủ Ubuntu, chúng tôi sẽ làm theo các bước dưới đây

Đầu tiên, cập nhật chỉ mục gói apt

$

sudo apt update

Sau đó, cài đặt gói MySQL Server bằng cách gõ lệnh

$

sudo apt install mysql-server

Sau khi hoàn tất cài đặt, dịch vụ MySQL sẽ tự khởi động. Để kiểm tra xem dịch vụ MySQL có đang chạy hay không, hãy gõ lệnh bên dưới

$

sudo systemctl status mysql

Bạn sẽ thấy đầu ra tương tự như sau

● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-10-18 18:02:27 -03; 9s ago Main PID: 3019 (mysqld) Tasks: 27 (limit: 1098) CGroup: /system.slice/mysql.service └─3019 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Bước 2 - Bảo mật MySQL

Cài đặt MySQL đi kèm với một tập lệnh có tên là

$

sudo apt install mysql-server

0 để chạy sau khi cài đặt và định cấu hình một số cài đặt bảo mật quan trọng

Chạy tập lệnh bảo mật bằng cách nhập

$

sudo mysql_secure_installation

Khi thực hiện lệnh này, bạn sẽ được hỏi có muốn định cấu hình **Plugin xác thực mật khẩu** không, có thể được sử dụng để kiểm tra độ mạnh của mật khẩu trong MySQL và cải thiện tính bảo mật. Có ba cấp chính sách xác thực mật khẩu, thấp, trung bình và mạnh. Nhấn ENTER nếu bạn không muốn sử dụng plugin này

Ở câu hỏi tiếp theo tại dấu nhắc, sẽ là đặt mật khẩu của bạn cho người dùng root của MySQL. Tập lệnh cũng sẽ yêu cầu bạn xóa người dùng ẩn danh, hạn chế quyền truy cập của người dùng root vào localhost và xóa cơ sở dữ liệu kiểm tra. Đối với những câu hỏi này, bạn phải trả lời Y

MySQL là một máy chủ cơ sở dữ liệu SQL nhanh, đa luồng, nhiều người dùng và mạnh mẽ. Nó được thiết kế cho các hệ thống sản xuất nặng, quan trọng và phần mềm được triển khai hàng loạt

Cài đặt

Để cài đặt MySQL, hãy chạy lệnh sau từ dấu nhắc đầu cuối

sudo apt install mysql-server

Sau khi cài đặt hoàn tất, máy chủ MySQL sẽ tự động khởi động. Bạn có thể nhanh chóng kiểm tra trạng thái hiện tại của nó thông qua systemd

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.

Trạng thái mạng của dịch vụ MySQL cũng có thể được kiểm tra bằng cách chạy lệnh

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
7 tại dấu nhắc đầu cuối

sudo ss -tap | grep mysql

Khi bạn chạy lệnh này, bạn sẽ thấy một cái gì đó tương tự như sau

$

sudo apt install mysql-server

0

Nếu máy chủ không chạy chính xác, bạn có thể gõ lệnh sau để khởi động nó

$

sudo apt install mysql-server

1

Một điểm khởi đầu tốt để khắc phục sự cố là nhật ký systemd, có thể được truy cập tại dấu nhắc đầu cuối bằng lệnh này

$

sudo apt install mysql-server

2

Cấu hình

Bạn có thể chỉnh sửa các tệp trong

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
8 để định cấu hình cài đặt cơ bản – tệp nhật ký, số cổng, v.v. Ví dụ: để định cấu hình MySQL lắng nghe các kết nối từ máy chủ mạng, trong tệp
sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
9, hãy thay đổi chỉ thị địa chỉ liên kết thành địa chỉ IP của máy chủ

$

sudo apt install mysql-server

5

Ghi chú

Thay thế 192. 168. 0. 5 với địa chỉ thích hợp, có thể được xác định thông qua

sudo ss -tap | grep mysql
0

Sau khi thực hiện thay đổi cấu hình, trình nền MySQL sẽ cần được khởi động lại

$

sudo apt install mysql-server

7

Công cụ cơ sở dữ liệu

Trong khi cấu hình mặc định của MySQL được cung cấp bởi các gói Ubuntu hoạt động hoàn hảo và hoạt động tốt, có những điều bạn có thể cân nhắc trước khi tiếp tục

MySQL được thiết kế để cho phép dữ liệu được lưu trữ theo nhiều cách khác nhau. Các phương pháp này được gọi là cơ sở dữ liệu hoặc công cụ lưu trữ. Có hai động cơ chính mà bạn sẽ quan tâm. InnoDB và MyISAM. Công cụ lưu trữ trong suốt đối với người dùng cuối. MySQL sẽ xử lý mọi thứ khác nhau bên dưới bề mặt, nhưng bất kể công cụ lưu trữ nào đang được sử dụng, bạn sẽ tương tác với cơ sở dữ liệu theo cùng một cách

Mỗi động cơ đều có ưu nhược điểm riêng

Mặc dù có thể và có thể thuận lợi khi kết hợp và kết hợp các công cụ cơ sở dữ liệu ở cấp độ bảng, nhưng làm như vậy sẽ làm giảm hiệu quả của việc điều chỉnh hiệu suất mà bạn có thể thực hiện vì bạn sẽ phân chia tài nguyên giữa hai công cụ thay vì dành chúng cho một công cụ.

  • MyISAM cũ hơn trong hai. Nó có thể nhanh hơn InnoDB trong một số trường hợp nhất định và ưu tiên khối lượng công việc chỉ đọc. Một số ứng dụng web đã được điều chỉnh xung quanh MyISAM (mặc dù điều đó không có nghĩa là chúng sẽ chậm lại trong InnoDB). MyISAM cũng hỗ trợ kiểu dữ liệu FULLTEXT, cho phép tìm kiếm rất nhanh số lượng lớn dữ liệu văn bản. Tuy nhiên MyISAM chỉ có khả năng khóa toàn bộ bảng để ghi. Điều này có nghĩa là chỉ một quá trình có thể cập nhật một bảng tại một thời điểm. Vì bất kỳ ứng dụng nào sử dụng tỷ lệ bảng, điều này có thể gây trở ngại. Nó cũng thiếu ghi nhật ký, khiến dữ liệu khó phục hồi hơn sau sự cố. Liên kết sau đây cung cấp một số điểm cần cân nhắc về việc sử dụng MyISAM trên cơ sở dữ liệu sản xuất

  • InnoDB là một công cụ cơ sở dữ liệu hiện đại hơn, được thiết kế để tuân thủ ACID nhằm đảm bảo các giao dịch cơ sở dữ liệu được xử lý một cách đáng tin cậy. Khóa ghi có thể xảy ra trên cơ sở cấp hàng trong một bảng. Điều đó có nghĩa là nhiều cập nhật có thể xảy ra đồng thời trên một bảng. Bộ nhớ đệm dữ liệu cũng được xử lý trong bộ nhớ trong công cụ cơ sở dữ liệu, cho phép lưu vào bộ nhớ đệm trên cơ sở cấp hàng hiệu quả hơn thay vì khối tệp. Để đáp ứng tuân thủ ACID, tất cả các giao dịch được ghi nhật ký độc lập với các bảng chính. Điều này cho phép khôi phục dữ liệu đáng tin cậy hơn nhiều vì có thể kiểm tra tính nhất quán của dữ liệu

Kể từ MySQL 5. 5 InnoDB là công cụ mặc định và rất được khuyến khích sử dụng trên MyISAM trừ khi bạn có nhu cầu cụ thể về các tính năng dành riêng cho công cụ

Cấu hình nâng cao

Tạo một cấu hình điều chỉnh

Có một số tham số có thể được điều chỉnh trong các tệp cấu hình của MySQL sẽ cho phép bạn cải thiện hiệu suất của máy chủ theo thời gian

Nhiều tham số có thể được điều chỉnh với cơ sở dữ liệu hiện có, tuy nhiên một số tham số có thể ảnh hưởng đến bố cục dữ liệu và do đó cần cẩn thận hơn khi áp dụng

Trước tiên, nếu bạn có dữ liệu hiện có, bạn sẽ cần thực hiện mysqldump và tải lại

$

sudo apt install mysql-server

8

Điều này sau đó sẽ nhắc bạn nhập mật khẩu gốc trước khi tạo một bản sao của dữ liệu. Nên đảm bảo rằng không có người dùng hoặc quy trình nào khác sử dụng cơ sở dữ liệu trong khi điều này diễn ra. Tùy thuộc vào lượng dữ liệu bạn có trong cơ sở dữ liệu của mình, quá trình này có thể mất một lúc. Bạn sẽ không thấy bất cứ điều gì trên màn hình trong quá trình này

Khi quá trình kết xuất đã hoàn tất, hãy tắt MySQL

$

sudo apt install mysql-server

9

Bạn cũng nên sao lưu cấu hình ban đầu

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
0

Tiếp theo, thực hiện bất kỳ thay đổi cấu hình mong muốn nào

Sau đó xóa và khởi tạo lại không gian cơ sở dữ liệu và đảm bảo quyền sở hữu là chính xác trước khi khởi động lại MySQL

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
1

Bước cuối cùng là nhập lại dữ liệu của bạn bằng cách đưa các lệnh SQL của bạn vào cơ sở dữ liệu

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
2

Đối với các lần nhập dữ liệu lớn, tiện ích 'Pipe Viewer' có thể hữu ích để theo dõi tiến trình nhập. Bỏ qua mọi thời gian ETA do pv tạo ra, chúng dựa trên thời gian trung bình cần thiết để xử lý từng hàng của tệp, nhưng tốc độ chèn có thể thay đổi tùy theo từng hàng với mysqldumps

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
3

Sau khi hoàn thành, tất cả đều ổn

Ghi chú

Điều này là không cần thiết cho tất cả của tôi. thay đổi cnf. Hầu hết các biến bạn có thể muốn thay đổi để cải thiện hiệu suất đều có thể điều chỉnh ngay cả khi máy chủ đang chạy. Như với mọi thứ, hãy đảm bảo có một bản sao lưu tốt các tệp cấu hình và dữ liệu trước khi thực hiện thay đổi

Bộ chỉnh MySQL

MySQL Tuner kết nối với một phiên bản MySQL đang chạy và đưa ra các đề xuất cấu hình để tối ưu hóa cơ sở dữ liệu cho khối lượng công việc của bạn. Máy chủ chạy càng lâu thì lời khuyên mà mysqltuner có thể cung cấp càng tốt. Trong môi trường sản xuất, hãy cân nhắc đợi ít nhất 24 giờ trước khi chạy công cụ. Bạn có thể cài đặt mysqltuner từ kho Ubuntu

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
4

Sau đó, khi nó đã được cài đặt, hãy chạy

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
5

và chờ báo cáo cuối cùng. Phần trên cùng cung cấp thông tin chung về máy chủ cơ sở dữ liệu và phần dưới cùng cung cấp các đề xuất điều chỉnh để thay đổi trong. cnf. Hầu hết những thứ này có thể được thay đổi trực tiếp trên máy chủ mà không cần khởi động lại; . Ví dụ sau đây là một phần của báo cáo từ cơ sở dữ liệu sản xuất hiển thị các lợi ích tiềm năng từ việc tăng bộ đệm truy vấn

sudo service mysql status

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago
 Main PID: 2028 (mysqld)
    Tasks: 28 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server...
Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server.
6

Không cần phải nói rằng các chiến lược tối ưu hóa hiệu suất khác nhau giữa các ứng dụng. Vì vậy, ví dụ, những gì hoạt động tốt nhất cho Wordpress có thể không phải là tốt nhất cho Drupal hoặc Joomla. Hiệu suất có thể phụ thuộc vào các loại truy vấn, sử dụng chỉ mục, thiết kế cơ sở dữ liệu hiệu quả như thế nào, v.v. Bạn có thể thấy hữu ích khi dành thời gian tìm kiếm mẹo điều chỉnh cơ sở dữ liệu dựa trên những ứng dụng bạn đang sử dụng. Khi bạn đã đạt đến điểm lợi nhuận giảm dần từ các điều chỉnh cấu hình cơ sở dữ liệu, hãy xem xét bản thân ứng dụng để cải thiện hoặc đầu tư vào phần cứng mạnh hơn và/hoặc mở rộng quy mô môi trường cơ sở dữ liệu

Ubuntu có MySQL không?

Công cụ cơ sở dữ liệu . MySQL được thiết kế để cho phép dữ liệu được lưu trữ theo nhiều cách khác nhau. the default configuration of MySQL provided by the Ubuntu packages is perfectly functional and performs well there are things you may wish to consider before you proceed. MySQL is designed to allow data to be stored in different ways.

MySQL có miễn phí trên Ubuntu không?

MySQL là cơ sở dữ liệu quan hệ mã nguồn mở miễn phí và được sử dụng rộng rãi .

Ubuntu có đi kèm với cơ sở dữ liệu không?

Ubuntu cung cấp hai máy chủ cơ sở dữ liệu phổ biến . họ đang. mysql. PostgreSQL.

Làm cách nào để cài đặt gói MySQL trong Ubuntu?

Ghi chú. Nếu bạn chưa nâng cấp hệ thống của mình từ 18. 04 chưa, hãy xem hướng dẫn cài đặt MySQL trên Ubuntu 18 của chúng tôi. 04. .
Bước 1. Cập nhật/Nâng cấp kho lưu trữ gói. .
Bước 2. Cài đặt MySQL. .
Bước 3. Bảo mật MySQL. .
Bước 4. Kiểm tra xem dịch vụ MySQL có đang chạy không. .
Bước 5. Đăng nhập vào máy chủ MySQL