Tại sao máy chủ MySQL không kết nối?

Cơ sở dữ liệu MySQL (Db) là một dịch vụ cơ sở dữ liệu chạy trên Máy chủ cục bộ và trên Web, lý tưởng cho cả ứng dụng nhỏ và lớn và nó sử dụng ngôn ngữ SQL tiêu chuẩn. MySQL miễn phí tải xuống và sử dụng, đồng thời có bộ tính năng nâng cao, công cụ quản lý và hỗ trợ kỹ thuật toàn diện nhất để đạt được khả năng mở rộng, bảo mật, độ tin cậy và thời gian hoạt động của MySQL ở mức cao nhất. Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ trong các bảng. Bảng là một tập hợp các dữ liệu có liên quan và nó bao gồm các cột và hàng và Db rất hữu ích để lưu trữ thông tin một cách phân loại. Xem các hướng dẫn sau về MySQL, cách đặt lại mật khẩu Mysql Root, cách truy cập Máy chủ MySQL từ Dấu nhắc lệnh, cách tạo và xóa cơ sở dữ liệu MySQL và cách di chuyển Cơ sở dữ liệu Veeam MsSQL sang Máy chủ MsSQL mới

Ghi chú. Điều đáng chú ý là theo mặc định, máy chủ MySQL chỉ lắng nghe các kết nối từ máy chủ cục bộ, điều đó có nghĩa là nó chỉ có thể được truy cập bởi các ứng dụng chạy trên cùng một máy chủ. Nhưng trong môi trường sản xuất, bạn có thể cho phép truy cập từ xa vào máy chủ MySQL. Ở khía cạnh này, bạn sẽ phải định cấu hình máy chủ MySQL để nghe trên một địa chỉ IP cụ thể hoặc tất cả các địa chỉ IP trên máy chủ

Bài viết này chỉ ra các bước để giải quyết vấn đề kết nối với MySQL Server. Xem cách cài đặt Microsoft SQL Server 2019 và công cụ dòng lệnh MsSQL trên Ubuntu Linux, cách gỡ cài đặt Microsoft SQL Server trên Windows 10 và Windows Server, cũng như cách tải xuống và cài đặt Microsoft SQL Server 2019 Developer Edition và Microsoft SQL Server Management Studio trên Windows

Nguyên nhân gốc rễ. Lỗi này được hiển thị do ứng dụng không thể kết nối với máy chủ MySQL. Có thể có một số lý do. Nhưng trong trường hợp của tôi, đó là do dịch vụ đã bị dừng và dịch vụ không chạy. Để khắc phục sự cố này, vui lòng làm theo các bước bên dưới

Khởi chạy MySQL Workbench để mở màn hình chính. Các kết nối hiện có được hiển thị khi bạn nhấp vào chế độ xem Kết nối MySQL từ thanh bên. Không có kết nối tồn tại cho người dùng lần đầu

Tại sao máy chủ MySQL không kết nối?
Tại sao máy chủ MySQL không kết nối?

Nhấp vào Menu Máy chủ và nhấp vào tùy chọn Khởi động/Tắt máy như hình bên dưới

Tại sao máy chủ MySQL không kết nối?
Tại sao máy chủ MySQL không kết nối?

Thao tác này sẽ mở ra cửa sổ Quản trị -Khởi động/Tắt máy. Nhấp vào Bắt đầu máy chủ

Tại sao máy chủ MySQL không kết nối?
Tại sao máy chủ MySQL không kết nối?

Chấp nhận UAC
– Tiếp theo, bạn sẽ được yêu cầu nhập mật khẩu của mình để khởi động máy chủ cơ sở dữ liệu,
– Nhập mật khẩu của bạn và nhấp vào OK

Tại sao máy chủ MySQL không kết nối?
Tại sao máy chủ MySQL không kết nối?

Từ cửa sổ Administration -Startup/Shutdown, bạn sẽ thấy máy chủ đang chạy và trên cửa sổ này, bạn có thể dừng hoặc đưa máy chủ ngoại tuyến

Tại sao máy chủ MySQL không kết nối?
Tại sao máy chủ MySQL không kết nối?

Như bạn có thể thấy, dịch vụ MySQL cũng đang chạy và đây là tất cả những gì cần thiết để giải quyết vấn đề kết nối này

Tại sao máy chủ MySQL không kết nối?
Tại sao máy chủ MySQL không kết nối?

Tôi hy vọng bạn thấy bài đăng trên blog này hữu ích. Nếu bạn có bất kỳ câu hỏi nào, vui lòng cho tôi biết trong phần bình luận. Tôi hoan nghênh bạn đăng ký Kênh YouTube của tôi

Một phần lớn nội dung trên Internet được lưu trữ trên cơ sở dữ liệu mà MySQL là lựa chọn phổ biến. Nhưng phải làm gì khi đột nhiên nội dung động của bạn không tải hoặc khi quay lại trang web của bạn, bạn được chào đón bởi một trang trắng gần như trống rỗng với thông báo “Lỗi thiết lập kết nối cơ sở dữ liệu. ” Hướng dẫn này nhằm mục đích trợ giúp khắc phục sự cố cơ sở dữ liệu MySQL trên máy chủ đám mây và bằng cách làm theo các bước được liệt kê ở đây, hy vọng bạn sẽ có thể khôi phục chức năng cơ sở dữ liệu của mình

Dùng thử UpCloud miễn phí. Triển khai một máy chủ chỉ trong 45 giây

Kiểm tra xem dịch vụ có đang chạy không

Nếu trang web của bạn không thể kết nối với cơ sở dữ liệu của bạn, có thể đơn giản là dịch vụ không nghe. Kiểm tra trạng thái MySQL của bạn, trên các hệ thống Ubuntu và Debian, điều này có thể được thực hiện bằng lệnh sau

sudo service mysql status

CentOS và các biến thể Red Hat khác cũng sử dụng MySQL, nhưng thay vào đó, nó được đặt tên là MariaDB, vì vậy hãy sử dụng lệnh này để thay thế

sudo service mariadb status

Đầu ra từ kiểm tra trạng thái trên CentOS và Debian sẽ hiển thị nội dung nào đó dọc theo các dòng của ví dụ này từ CentOS bên dưới, đầu ra của Debian sẽ gần như giống hệt ngoại trừ tên dịch vụ khác nhau

mariadb.service - MariaDB database server
    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled)
    Active: active (running) since Wed 2015-08-05 11:53:38 EEST; 3h 23min ago
  Main PID: 2451 (mysqld_safe)
    CGroup: /system.slice/mariadb.service
            ├─2451 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
            └─2609 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql...

Bản in khá dài dòng, nhưng phần quan trọng thường được tô màu để nổi bật hơn. Màu xanh lá cây 'đang hoạt động (đang chạy)' có nghĩa là dịch vụ sẽ chạy bình thường nếu thay vào đó, thông báo 'đang hoạt động (đã thoát)' hoặc 'không hoạt động (đã chết)' thì quá trình đã bị dừng hoặc bị hủy

Ubuntu cô đọng cùng một thông tin thành một lớp lót giống như một ví dụ đầu ra bên dưới

mysql start/running, process 5897

Nếu trạng thái dịch vụ của bạn không phải là 'đang chạy', hãy thử khởi động lại quy trình bằng lệnh dịch vụ giống như trước đây nhưng với 'khởi động lại' thay vì 'trạng thái'

sudo service mysql restart

sudo service mariadb restart

Nếu dịch vụ cơ sở dữ liệu khởi động lại mà không gặp lỗi, bạn có thể thử kết nối với nó bằng lệnh bên dưới. Nhập mật khẩu gốc khi được nhắc

mysql -u root -p

Nếu bạn được chào đón với “Welcome to the MySQL/MariaDB monitor” thì kết nối đã thành công và dịch vụ cơ sở dữ liệu đang chạy. Nếu thay vào đó, bạn gặp lỗi như ví dụ dưới đây, có thể bạn đã nhập sai mật khẩu cho người dùng root. Hãy thử lại hoặc nếu bạn không chắc chắn về mật khẩu gốc, hãy đăng nhập bằng tài khoản người dùng khác mà bạn có quyền truy cập bằng cách thay thế gốc bằng tên người dùng khác

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Nếu cơ sở dữ liệu của bạn được thiết lập trên một máy chủ riêng biệt với máy chủ lưu trữ web của mình, hãy đảm bảo hai máy chủ có thể kết nối với nhau. Bạn có thể kiểm tra kết nối cơ sở dữ liệu từ máy chủ web của mình bằng lệnh bên dưới bằng tên người dùng chính xác cho quá trình cài đặt của bạn

mysql -u  -p -h 

Kiểm tra cấu hình

Khi MySQL đang chạy nhưng trang web của bạn vẫn không tải như bình thường hoặc nếu khi cố gắng kết nối với cơ sở dữ liệu của bạn theo cách thủ công, bạn nhận được thông báo lỗi như bên dưới, bạn nên xem cấu hình dịch vụ

________số 8_______

Trên máy chủ Debian và Ubuntu, tệp cấu hình cho MySQL thường được lưu tại /etc/mysql/. Cũng có thể có các cài đặt dành riêng cho người dùng được lưu trữ tại /home//. của tôi. cnf, sẽ ghi đè cấu hình chung. Kiểm tra xem có bất kỳ ghi đè cấp độ người dùng nào đã được đặt không. Người dùng thường được khuyên nên có tên người dùng riêng cho các ứng dụng web khác nhau, vì vậy hãy kiểm tra ít nhất những tên người dùng có liên quan đến sự cố tải trang của bạn. Bạn có thể mở tệp cấu hình chung bằng lệnh đầu tiên trong số hai lệnh sau bên dưới và lệnh dành riêng cho người dùng bằng lệnh sau bằng cách thay thế bằng tên người dùng cơ sở dữ liệu

sudo nano /etc/mysql/my.cnf

sudo nano /home//.my.cnf

Bằng cách cuộn xuống cài đặt [client] và [mysqld_safe], bạn sẽ tìm thấy một cái gì đó giống như ví dụ ở đây

sudo service mariadb status
0

Với CentOS và các Red Hat khác, tệp cấu hình chính được lưu trữ ở vị trí hơi khác, hãy mở nó để kiểm tra bằng

sudo service mariadb status
1
sudo service mariadb status
2

Các dòng ở đây cần chú ý là 'socket', 'datadir' và 'bind-address'. Các tham số trong ví dụ trên có giá trị mặc định và trong hầu hết các trường hợp, cấu hình của bạn sẽ giống nhau. Đảm bảo các cài đặt trỏ đến đúng thư mục để MySQL thực sự có thể tìm thấy các tệp cần thiết. Cách dễ nhất để kiểm tra 'datadir' là sử dụng lệnh này bên dưới

sudo service mariadb status
3

Đầu ra sẽ liệt kê tất cả các tệp trong thư mục đó, nó phải chứa ít nhất những thứ sau cộng với bất kỳ cơ sở dữ liệu nào bạn đã tạo

sudo service mariadb status
4

Nếu thư mục dữ liệu hoặc ổ cắm đã được di chuyển và MySQL không biết chúng ở đâu, hãy sửa tệp cấu hình để trỏ đến đúng thư mục. Bạn có thể tìm kiếm các thư mục bằng lệnh sau

sudo service mariadb status
5

Tham số thứ ba bạn cần kiểm tra là địa chỉ liên kết, điều này chỉ thực sự phù hợp nếu cơ sở dữ liệu của bạn cần được truy cập từ xa. Trong cài đặt Debian và Ubuntu, liên kết theo mặc định được đặt thành địa chỉ loopback, ngăn các cuộc gọi cơ sở dữ liệu từ bên ngoài máy chủ cục bộ. CentOS không có cùng tham số trừ khi được đặt thủ công. Đối với bất kỳ thiết lập nào mà dịch vụ web của bạn nằm trên một máy chủ khác với cơ sở dữ liệu, địa chỉ liên kết này phải được đặt thành IP riêng của máy chủ

Kiểm tra các bản ghi lỗi

Nếu cấu hình có vẻ chính xác và dịch vụ đang chạy, nhưng trang web của bạn vẫn không tải như bình thường, hãy thử kiểm tra nhật ký để biết bất kỳ gợi ý nào về nguyên nhân có thể là gì

Các máy chủ Debian và Ubuntu lưu các bản ghi lỗi vào /var/log/mysql/error. đăng nhập. Bạn có thể đọc qua nhật ký với 'less', nhưng điều này có thể không thuận tiện lắm vì nhật ký không chỉ bao gồm các lỗi nghiêm trọng. Thay vào đó, hãy tìm kiếm nhật ký bằng cách sử dụng 'grep'

sudo service mariadb status
6

Nếu bạn không thể tìm thấy bất cứ điều gì trong các bản ghi gần đây nhất, hãy kiểm tra cả những bản đã lưu trữ. Để thực hiện việc này, hãy sử dụng 'zgrep' với lệnh tương tự như 'grep' thông thường

sudo service mariadb status
7

Vì cơ sở dữ liệu trong CentOS được đặt tên là MariaDB thay vì MySQL, nhật ký cũng được lưu dưới một tên khác. Bạn có thể tìm kiếm nhật ký bằng lệnh sau

sudo service mariadb status
8

Các hệ thống Debian cũng báo cáo các sự kiện MySQL tới /var/log/syslog, để lọc ra mọi thứ khác, hãy sử dụng ‘grep’ với hai từ khóa được phân tách bằng. * để thể hiện 'và' như trong lệnh bên dưới

sudo service mariadb status
9

Nếu bạn gặp khó khăn trong việc tìm kiếm bất cứ điều gì hữu ích, hãy thử các từ khóa khác nhau, chẳng hạn như 'bắt đầu' để xem thời điểm dịch vụ được khởi động lại lần cuối hoặc 'không thành công' để tìm bất kỳ sự cố nào ít nghiêm trọng hơn có thể không được báo cáo là lỗi

Yêu cầu giúp đỡ

Hiện tại, lạc quan nhất là cơ sở dữ liệu của bạn sẽ được thiết lập và chạy lại, nhưng trong trường hợp bạn gặp phải lỗi dai dẳng hơn, vui lòng yêu cầu trợ giúp. Liên hệ với nhóm hỗ trợ của chúng tôi và cố gắng giải thích vấn đề theo khả năng tốt nhất của bạn, đồng thời bao gồm các bước bạn đã thực hiện với kết quả của họ trong khi khắc phục sự cố. Điều này sẽ giúp nhóm giúp bạn giải quyết vấn đề

Làm cách nào để kết nối với máy chủ trong MySQL?

Để kết nối với Cơ sở dữ liệu MySQL .
Nhấp vào tab Dịch vụ
Mở rộng nút Trình điều khiển từ Database Explorer. .
Nhập tên người dùng và mật khẩu. .
Nhấn OK để chấp nhận thông tin đăng nhập. .
Nhấn OK để chấp nhận lược đồ mặc định
Nhấp chuột phải vào URL Cơ sở dữ liệu MySQL trong cửa sổ Dịch vụ (Ctrl-5)

Tại sao máy chủ MySQL không bắt đầu?

Lỗi cấu hình – MySQL lưu cài đặt cấu hình của nó trong '/etc/my. tập tin cnf'. Bất kỳ lỗi hoặc tham số không được hỗ trợ nào trong tệp cấu hình này có thể ngăn máy chủ khởi động. Hệ nhị phân MySQL bị hỏng – Khi hệ nhị phân hoặc bảng MySQL bị hỏng, nó có thể khiến máy chủ MySQL bị lỗi hoặc không khởi động được.

Tại sao Truy vấn bị mất kết nối với máy chủ MySQL?

Điều gì gây ra lỗi “Mất kết nối với máy chủ MySQL trong khi truy vấn”? . Ví dụ: nếu bạn có một truy vấn dài cần nhiều thời gian để hoàn thành việc thực thi, MySQL sẽ ngắt kết nối tới máy chủ. when the connection between a client and the server exceeds the specified timeout value. For example, if you have a long query that takes a long time to complete the execution, MySQL drops the connection to the server.