Làm cách nào để thay đổi đường dẫn ổ cắm mysql?

MySQL sử dụng một loại tệp đặc biệt tạo điều kiện giao tiếp giữa các quy trình, được gọi là tệp ổ cắm. Với tệp này, MySQL có thể quản lý các kết nối đến máy chủ cơ sở dữ liệu. Tệp ổ cắm của MySQL được gọi là

$

sudo systemctl start mysql

1 và nó nằm trong thư mục Ubuntu

$

sudo systemctl start mysql

2. Tệp ổ cắm được tạo tự động bởi dịch vụ MySQL

Đôi khi, những thay đổi và sửa đổi trên hệ thống của bạn có thể khiến MySQL không thể đọc tệp ổ cắm, điều này có thể cản trở việc truy cập cơ sở dữ liệu của bạn. Ví dụ, lỗi ổ cắm mới nhất là như thế này

output

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Có một số lý do khiến lỗi này xảy ra và một số cách khác nhau để giải quyết lỗi này. Nguyên nhân phổ biến của lỗi này là do dịch vụ cơ sở dữ liệu bị dừng hoặc không bắt đầu, điều đó có nghĩa là không thể tạo tệp ổ cắm. Để khám phá xem đây có phải là lý do khiến bạn gặp lỗi này hay không, hãy thử bắt đầu dịch vụ với

$

sudo systemctl start mysql

0

$

sudo systemctl start mysql

Sau đó, hãy thử truy cập lại dấu nhắc MySQL. Nếu bạn vẫn gặp lỗi socket, hãy kiểm tra lại vị trí cài đặt MySQL của bạn. Điều này có thể được tìm thấy trong tệp

$

sudo systemctl start mysql

1

$

sudo nano /etc/mysql/mysql.conf.d/mysql.cnf

Tìm tham số

$

sudo systemctl start mysql

2 trong phần

$

sudo systemctl start mysql

3 của tệp này. Nó là một cái gì đó như thế này

/etc/mysql/mysql. conf. d/mysqld. cnf

. . [mysqld] người dùng = mysql pid-file = /var/run/mysqld/mysqld. ổ cắm pid = /var/run/mysqld/mysqld. cổng vớ = 3306. .

Đóng tệp và đảm bảo rằng tệp

$

sudo systemctl start mysql

4 ở đó bằng cách viết lệnh

$

sudo systemctl start mysql

5 trên thư mục nơi cơ sở dữ liệu mong đợi

$

ls -a /var/run/mysqld/

Nếu tệp ổ cắm ở đó, bạn sẽ thấy nó trong đầu ra của lệnh này

$

sudo systemctl start mysql

0

Nếu tệp không tồn tại, lý do có thể là do MySQL đang cố tạo tệp nhưng không có quyền tạo tệp. Đảm bảo rằng các quyền được đặt đúng chỗ bằng cách thay đổi quyền sở hữu thư mục thành người dùng và nhóm mysql

$

sudo systemctl start mysql

1

Sau đó, đảm bảo rằng người dùng cơ sở dữ liệu có quyền thích hợp đối với thư mục. Đặt chúng thành

$

sudo systemctl start mysql

6 sẽ không phải là giải pháp trong hầu hết các trường hợp

$

sudo systemctl start mysql

3

Bây giờ bạn nên khởi động lại dịch vụ MySQL để nó có thể thử tạo tệp ổ cắm

$

sudo systemctl start mysql

4

Hãy thử truy cập lại dấu nhắc MySQL. Nếu bạn vẫn tìm thấy lỗi, có thể có một loại vấn đề khác với phiên bản MySQL của bạn, trong trường hợp đó, bạn nên xem lại nhật ký lỗi để xem liệu bạn có nhận được manh mối nào không

Người dùng làm việc với MySQL có thể gặp lỗi 'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm'/var/run/mysqld/mysqld. sock (2)' khi đăng nhập vào giao diện MySQL. Vấn đề này thường phát sinh nếu MySQL không thể truy cập mysqld. tập tin ổ cắm vớ

Trong hướng dẫn này, chúng tôi sẽ xem xét các nguyên nhân tiềm ẩn gây ra lỗi 'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm' và chỉ cho bạn các phương pháp khác nhau để giải quyết vấn đề này

How to fix 'can't connect to local MySQL server through socket' error

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

  • Một hệ thống chạy Ubuntu 20. 04
  • Tài khoản người dùng có đặc quyền sudo
  • Truy cập vào cửa sổ đầu cuối/dòng lệnh
  • Một bản sao của MySQL đã được cài đặt và sẵn sàng để sử dụng (tìm hiểu cách cài đặt nó với hướng dẫn cài đặt MySQL trên Ubuntu 20 của chúng tôi. 04)

Giải quyết 'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm'/var/run/mysqld/mysqld. vớ' (2)' Lỗi

Có nhiều cách để giải quyết lỗi 'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm'/var/run/mysqld/mysqld. vớ (2)' lỗi. Nếu một giải pháp không hoạt động, hãy di chuyển xuống danh sách cho đến khi bạn tìm thấy giải pháp giải quyết vấn đề

Phương pháp 1. Kiểm tra dịch vụ MySQL

1. Kiểm tra trạng thái của dịch vụ MySQL với

$

sudo systemctl start mysql

5

Checking the status of the MySQL service

2. Nếu dịch vụ không chạy, hãy khởi động lại bằng cách sử dụng

$

sudo systemctl start mysql

6

3. Để ngăn sự cố này xảy ra, hãy đặt dịch vụ MySQL tự động khởi động khi khởi động

$

sudo systemctl start mysql

7

Set the MySQL service to automatically start when the system boots up

Phương pháp 2. xác minh mysqld. vớ Vị trí

'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm'/var/run/mysqld/mysqld. lỗi sock'(2)' cũng xảy ra nếu MySQL không thể tìm thấy mysql. tập tin ổ cắm vớ

1. Tìm mysqld hiện tại. vị trí sock bằng cách sử dụng lệnh

$

sudo systemctl start mysql

63 để liệt kê tất cả các tệp ổ cắm trên hệ thống của bạn

$

sudo systemctl start mysql

9

List all the socket files on your system using the find command

2. Mở tệp cấu hình MySQL trong trình soạn thảo văn bản bạn chọn. Trong ví dụ này, chúng tôi sử dụng nano

$

sudo systemctl start mysql

0

3. Sau đó, thêm các dòng sau vào cuối tệp cấu hình MySQL

$

sudo systemctl start mysql

1

Ở đâu

  • $

    sudo systemctl start mysql

    64. Đường dẫn đến mysqld. sock socket bạn đã tìm thấy ở Bước 1

Edit the MySQL configuration file

Một phương pháp khác là tạo một liên kết tượng trưng từ vị trí của mysqld. sock vào thư mục /var/run/mysqld

$

sudo systemctl start mysql

3

4. Nhấn Ctrl + X để đóng tệp cấu hình và nhập Y và nhấn Enter để lưu các thay đổi bạn đã thực hiện

4. Cuối cùng, khởi động lại dịch vụ MySQL

$

sudo systemctl start mysql

4

Phương pháp 3. Kiểm tra quyền thư mục MySQL

Một nguyên nhân tiềm năng khác có thể là Dịch vụ MySQL không thể truy cập thư mục /var/run/mysqld do hạn chế về quyền

1. Để giải quyết vấn đề này, hãy thay đổi cài đặt quyền cho thư mục mysqld bằng

$

sudo systemctl start mysql

5

Đặt quyền thành

$

sudo systemctl start mysql

65 cho phép người dùng root đọc, viết và thực thi thư mục, trong khi những người dùng khác chỉ có thể đọc và thực thi

2. Khởi động lại dịch vụ MySQL để các thay đổi có hiệu lực

$

sudo systemctl start mysql

4

Phương pháp 4. Kiểm tra nhiều trường hợp MySQL

Lỗi cũng xảy ra nếu có nhiều phiên bản MySQL chạy cùng một lúc

1. Để liệt kê tất cả các phiên bản của MySQL, hãy sử dụng

$

sudo systemctl start mysql

60

Listing all currently running instance of MySQL

2. Nếu có nhiều phiên bản MySQL đang chạy, hãy chấm dứt chúng bằng

$

sudo systemctl start mysql

61

3. Khởi động lại dịch vụ MySQL để bắt đầu một phiên bản duy nhất của MySQL

$

sudo systemctl start mysql

4

Sự kết luận

Sau khi đọc hướng dẫn này, bạn hẳn đã xác định được nguyên nhân gây ra lỗi 'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm' và áp dụng giải pháp thích hợp