10 sai lầm phổ biến nhất của MySQL mà người dùng nên nhận thức

Ngọc Huyền| 07/10/2019 09:04
Theo dõi ICTVietnam trên

Những sai lầm phổ biến nào với MySQL mà người dùng nên nhận thức được?

Ten MySQL mistakes

MySQL 8 là một trong những công cụ cơ sở dữ liệu phổ biến nhất. Nó có thể hỗ trợ liên kết hàng ngàn cơ sở dữ liệu với các máy chủ một khi được cấu hình chính xác và với mức giá tương đối thấp. Ngoài ra, vì đây là một công cụ phổ biến, người dùng không gặp phải các vấn đề trong đó các máy chủ không thừa nhận hoặc định cấu hình nó để làm những gì bạn muốn nó làm.

Có thể có một vài tình huống khi sử dụng MySQL 8, nơi bạn sẽ không thể truy cập hoặc sử dụng MySQL một cách chính xác. Đây có thể là những tình huống rất khó chịu, nhưng chúng có thể dễ dàng sửa chữa. Tuy nhiên, bạn phải hiểu vấn đề trước khi tìm kiếm giải pháp!

Dưới đây là 10 lỗi phổ biến mà người dùng có thể gặp phải khi sử dụng MySQL 8.

Lỗi 1: Truy cập bị từ chối

Khi bất kỳ ai nhập lệnh SELECTs (chọn) , INSERTs (chèn), UPDATEs (cập nhật), và DELETEs (xóa) dữ liệu, lỗi truy cập bị từ chối có thể xảy ra do tài khoản MySQL được sử dụng bởi các chương trình máy khách có quyền máy chủ để kết nối với máy chủ MySQL. Vì vậy, đây là lỗi MySQL Access Denied (Truy cập bị từ chối)

Image title

Lỗi 2: Lỗi mật khẩu nếu nhập sai

Nếu chương trình người dùng được bắt đầu với tùy chọn mật khẩu hoặc tùy chọn “-p” mà không có giá trị mật khẩu, khách hàng MySQL yêu cầu mật khẩu. Lệnh này được thể hiện như sau:

Image title

> MySQL-u user_name-p

Enter password (Nhập mật khẩu):

Đây là một vấn đề về thư viện hệ thống, không phải là vấn đề của MySQL. Thay đổi mật khẩu MySQL thành mất khẩu có tám ký tự trở xuống là một giải pháp nhanh chóng cho vấn đề này, hoặc lưu trữ mật khẩu trong tệp tùy chọn.

Lỗi 3: Mất liên kết đến máy chủ MySQL

Do một trong ba nguyên nhân có thể xảy ra được mô tả trong phần này, liên kết bị mất với lỗi máy chủ MySQL có thể xảy ra. Một lý do khác có thể là do kết nối với mạng có vấn đề.

Lỗi 4: Tên máy chủ đã bị chặn

Nếu quá nhiều ứng dụng liên kết được nhận từ máy chủ bị gián đoạn ở trung tâm bởi máy chủ MySQL, thì lỗi sau sẽ xảy ra:

Image title

Máy chủ 'host_name' bị chặn do nhiều lỗi kết nối.

Bỏ chặn với 'mysqladmin flush-hosts'

Khi có các yêu cầu “max_connect_errors” không thành công mà không có kết nối thành công, MySQL giả định rằng có điều gì đó không ổn và chặn máy chủ khỏi các kết nối tiếp theo cho đến khi câu lệnh “FLUSH HOSTS” hoặc lệnh “mysqladmin flush-host” được ban hành.

Nó có thể được điều chỉnh để khởi động máy chủ bằng cách đặt giá trị tối đa để kết nối các lỗi như sau:

 > mysqld_safe --max_connect_errors = 10000

Giá trị này cũng có thể được đặt như sau trong thời gian chạy:

 mysql SET GLOBAL max_connect_errors = 10000;

Lỗi 5: Hết bộ nhớ

Nếu MySQL không đủ bộ nhớ để lưu trữ toàn bộ yêu cầu truy vấn từ chương trình máy khách MySQL, máy chủ sẽ đưa ra lỗi sau:

Image title

MySQL: Out of memory at line 42, 'malloc.c'

MySQL: needed 8136 bytes (8k), memory in use: 12481367 bytes (12189k)

ERROR 2008: MySQL client ran out of memory

Trước tiên bạn cần phải kiểm tra xem truy vấn có đúng để giải quyết vấn đề hay không. Liệu bạn có mong đợi rất nhiều yêu cầu bị trả lại hay không? Nếu không, truy vấn sẽ được sửa chữa và thực hiện lại. Nếu yêu cầu là đúng và không yêu cầu chỉnh sửa, bạn có thể đính kèm MySQL vào tùy chọn.

Lỗi 6: Khi bảng bị đầy

Lỗi đầy bảng xảy ra trong một trong các trường hợp sau:

Nếu đĩa đầy. Hoặc là Bảng đã đạt kích thước cao nhất.

Kích thước tối đa thực sự của bảng trong cơ sở dữ liệu MySQL có thể được xác định bởi các giới hạn kích thước tệp được áp đặt bởi hệ điều hành.

Lỗi 7: Khi Bảng tbl_name không tồn tại

Lỗi sau đây cho thấy rằng trong cơ sở dữ liệu mặc định, một bảng đã cho không tồn tại:

Table 'tbl_name' doesn't exist

Can't find file: 'tbl_name' (errno: 2)

Image title

Trong một số trường hợp, người dùng có thể tham khảo bảng không chính xác. Điều này có khả năng xảy ra vì máy chủ MySQL lưu trữ các bảng cơ sở dữ liệu bằng các thư mục và tệp. Cơ sở dữ liệu và tên bảng có thể phân biệt chữ hoa và chữ thường, tùy thuộc vào việc quản lý tệp của hệ điều hành.

Lỗi 8: Lệnh không đồng bộ hóa

Nếu các chức năng máy khách được gọi theo thứ tự sai, các lệnh không đồng bộ hóa sẽ được ghi nhận. Nó có nghĩa là lệnh không thể được thực thi trong mã máy khách. Ví dụ: nếu người dùng thực thi lệnh “mysql_use_result ()” và cố gắng thực hiện một truy vấn khác trước khi thực hiện “mysql_free_result ()”, lỗi này có thể xảy ra. Nó cũng có thể xảy ra nếu hai truy vấn đã thực thi trả về tập kết quả mà không gọi giữa các hàm kết quả sử dụng MySQL) (hoặc kết quả lưu trữ MySQL).

Lỗi 9: Bỏ qua người dùng

Nếu một tài khoản được tìm thấy trong bảng người dùng có mật khẩu không hợp lệ khi khởi động máy chủ MySQL hoặc máy chủ tải lại các bảng cấp, lỗi sau sẽ được nhận:

Found the wrong password for user 'some_user'@'some_host'; ignoring user

(Tìm thấy mật khẩu sai cho người dùng 'some_user' @ 'some_host'; bỏ qua người dùng)

Image title

Để giải quyết vấn đề, người dùng cần gán tài khoản với mật khẩu hợp lệ mới.

Lỗi 10: Không thể tạo/ghi vào tệp

Điều này chỉ ra rằng MySQL không thể tạo tệp tạm thời cho hệ quả được đặt trong thư mục tạm thời, nếu xảy ra lỗi sau trong khi thực hiện yêu cầu:

Can't create/write to file 'sqla3fe_0.ism' 

(Không thể tạo/ghi vào tệp 'sqla3fe_0.ism')

Cách khắc phục có thể thực hiện đối với lỗi này là khởi động máy chủ MySQL với tùy chọn “–tmpdir”. Sau đây là câu lệnh:

 > mysqld --tmpdir C:/temp

Image title

Kết luận

Như chúng ta đã biết, truy vấn là vấn đề chính nảy sinh trong khi làm việc với cơ sở dữ liệu. Có nhiều vấn đề giống như các bước trên, vì vậy đừng lo lắng, các chuyên gia sẵn sàng giúp đỡ bạn. Bằng cách sử dụng các bước trên, bạn có thể giải quyết tất cả các loại vấn đề liên quan đến MySQL. Hy vọng bài viết này giúp ích cho người đọc!

Nổi bật Tạp chí Thông tin & Truyền thông
Đừng bỏ lỡ
10 sai lầm phổ biến nhất của MySQL mà người dùng nên nhận thức
POWERED BY ONECMS - A PRODUCT OF NEKO