Không thể kết nối với máy chủ MySQL cục bộ thông qua socket '/var/mysql/mysql.sock' (38)


385

Tôi đang gặp một vấn đề lớn khi cố gắng kết nối với mysql. Khi tôi chạy:

/usr/local/mysql/bin/mysql start

Tôi có lỗi sau:

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)

Tôi có mysql.sockdưới /var/mysqlthư mục.

Trong /etc/my.cnftôi có:

[client]
port=3306
socket=/var/mysql/mysql.sock

[mysqld]
port=3306
socket=/var/mysql/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

và trong /etc/php.initôi có:

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /var/mysql/mysql.sock

Tôi đã khởi động lại apache bằng cách sử dụng sudo /opt/local/apache2/bin/apachectl restart

Nhưng tôi vẫn có lỗi.

Mặt khác, tôi không biết nếu điều đó có liên quan nhưng khi mysql_config --socketstôi nhận được

--socket         [/tmp/mysql.sock]

53
MySQL có chạy không?
David

2
Điều đó chắc chắn giải thích lỗi trong việc cố gắng kết nối với nó. Làm thế nào, như @Romain đã đề cập, có bất cứ điều gì trong nhật ký của MySQL (thử /var/log/mysqlhoặc ở đâu đó quanh đó) cho biết lý do tại sao nó không chạy? Bạn có nhận được một lỗi khi bạn cố gắng để bắt đầu nó?
David

5
Tôi đã nhận được cùng một lỗi, nhưng trong trường hợp của tôi, tôi phát hiện ra mysql sẽ không khởi động vì đĩa đã đầy 100%. /var/log/mysqld.log rất hữu ích.
yellavon

4
Lý do họ hỏi nếu nó đang chạy, tôi đoán, là bởi vì ổ cắm được tạo ra khi dịch vụ bắt đầu. Tôi đã cài đặt mysql, nhưng chưa bao giờ khởi động dịch vụ, vì vậy tệp .sock không tồn tại. gõ service mysqld startnếu bạn vừa cài đặt. hth
changokun

2
Câu trả lời dưới đây của shimanyi sudo service mysql startđã cứu tôi
Kiren Siva

Câu trả lời:


218

Nếu tệp my.cnf của bạn (thường trong thư mục / etc / mysql / ) được cấu hình đúng với

socket=/var/lib/mysql/mysql.sock

bạn có thể kiểm tra xem mysql có chạy bằng lệnh sau không:

mysqladmin -u root -p status

hãy thử thay đổi sự cho phép của bạn vào thư mục mysql. Nếu bạn đang làm việc tại địa phương, bạn có thể thử:

sudo chmod -R 755 /var/lib/mysql/

nó đã giải quyết nó cho tôi


11
Nó giúp tôi sau khi tôi làm theo các bước trên và khởi động lại mysqlddịch vụ.
lốc xoáy

11
Sẽ là tốt nhất nếu bạn đặt quyền thành 755 để chỉ chủ sở hữu thư mục có thể ghi vào nó.
mã hóa

2
Vấn đề của tôi thực sự chỉ là dung lượng lưu trữ cho ứng dụng web của tôi đã hết dung lượng! Cổ điển!
James T Snell

3
Trên openSUSE 12.3 của tôi, my.cnf nằm trong / etc /.

chúng ta cũng nên thay đổi quyền thành /var/log/mysqld.log, Cảm ơn
Allahbakash.G

94

bạn có chắc là bạn đã cài đặt mysql cũng như máy chủ mysql không ..

Ví dụ: để cài đặt máy chủ mySql tôi sẽ sử dụng yum hoặc apt để cài đặt cả công cụ dòng lệnh mysql và máy chủ:

yum -y install mysql mysql-server (or apt-get install mysql mysql-server)

Kích hoạt dịch vụ MySQL:

/sbin/chkconfig mysqld on

Khởi động máy chủ MySQL:

/sbin/service mysqld start

sau đó đặt mật khẩu root MySQL:

mysqladmin -u root password 'new-password' (with the quotes)

Tôi hy vọng nó sẽ giúp.


Tôi đã sử dụng homebrew và nó hoạt động như một bùa mê:brew install mysql
JaKXz

2
Tôi đã cài đặt ứng dụng khách, lệnh tôi cần là sudo apt-get install mysql-servercuộc sống rất tốt
ErichBSchulz

1
Không phải là đầu ra Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38) từ khách hàng? Đó là khách hàng đang cố gắng và không kết nối, phải không? (Tôi nghĩ rằng câu hỏi ban đầu cần chỉnh sửa để làm rõ điều đó).
msouth 21/03 '

76

Một cách giải quyết nhanh chóng phù hợp với tôi: hãy thử sử dụng địa chỉ IP cục bộ (127.0.0.1) thay vì 'localhost' trong mysql_connect (). Điều này "buộc" php kết nối thông qua TCP / IP thay vì ổ cắm unix.


Nó hoạt động ... nhưng tại sao? Không phải MySQL giải quyết localhostvà nhận 127.0.0.1dù sao trước khi thậm chí cố gắng kết nối?
Jaime Hablutzel

3
Không ... khi sử dụng localhost, bạn không sử dụng Internet Socket. Bạn đang sử dụng Ổ cắm IPC. vi.wikipedia.org/wiki/Unix_domain_socket . 127.0.0.1 là loopback cục bộ, có nghĩa là yêu cầu sẽ không thoát khỏi máy của bạn nhưng nó sẽ sử dụng TCP / IP do đó chậm hơn ...
Master Yogurt

Làm việc cho tôi quá. Tôi đang dùng Ubuntu 14.04, hhvm và nginx.
Maykonn 10/03/2015

1
cảm ơn. điều này hiệu quả với tôi nhưng tôi không rõ câu trả lời là gì
Nathan Buesgens

Điều này cũng cần thiết khi bạn kết nối với máy chủ từ xa thông qua đường hầm ssh
Tamm

51

Tôi đã gặp lỗi sau

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

Đã thử một số cách và cuối cùng đã giải quyết nó thông qua cách sau

sudo gksu gedit /etc/mysql/my.cnf

sửa đổi

#bind-address       = 127.0.0.1

đến

bind-address        = localhost

và khởi động lại

sudo /etc/init.d/mysql restart

nó đã làm việc


Tôi đã có một vấn đề tương tự; đã chuyển từ ethernet (192.168.220.11) sang wifi (192.168.220.12) nhưng có địa chỉ liên kết được mã hóa cứng thành IP ethernet. Thay đổi để localhostsửa nó.
Chris G

30

Hãy chắc chắn rằng bạn đang chạy mysqld: /etc/init.d/mysql start


3
Hoặc sudo service mysql start|restartcho Ubuntu.
Wtower

18

Để ngăn sự cố xảy ra, bạn phải thực hiện tắt máy chủ một cách duyên dáng từ dòng lệnh thay vì tắt nguồn máy chủ.

shutdown -h now

Điều này sẽ dừng các dịch vụ đang chạy trước khi tắt nguồn máy.

Dựa trên Centos, một phương pháp bổ sung để nhận lại nó khi bạn gặp phải vấn đề này là di chuyển mysql.sock:

mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

service mysqld start

Khởi động lại dịch vụ sẽ tạo ra một mục mới gọi là mqsql.sock


14

Tôi đã gặp lỗi này khi tôi đặt cron job cho tệp của mình. Tôi đã thay đổi quyền của tệp thành 777 nhưng nó vẫn không hoạt động đối với tôi. Cuối cùng tôi đã có giải pháp. Có thể nó sẽ hữu ích cho những người khác.

Hãy thử với lệnh này:

mysql -h 127.0.0.1 -P 3306 -u root -p

Hãy nhớ rằng -h có nghĩa là máy chủ , -P có nghĩa là cổng và -p có nghĩa là mật khẩu.


Việc buộc kết nối qua TCP / IP thay vì sử dụng ổ cắm là không hiệu quả (và yêu cầu bạn bật hỗ trợ TCP / IP localhost trong máy chủ, theo câu trả lời trước đó ). Câu trả lời được chấp nhận từ năm 2011 là tốt hơn: Định cấu hình máy chủ để bạn có thể sử dụng ổ cắm đúng cách.
Quentin

10
-pkhông có nghĩa là cổng , nó có nghĩa là mật khẩu , bạn đã nhầm lẫn nó với-P
Quentin

Đây dường như là một bản sao của câu trả lời sớm hơn này
Quentin

Đối với tôi, đó chỉ là vấn đề xác định máy chủ chính xác: mysql -h 127.0.0.1 -u root -p
kghbln

12

Có thể thấy nhiều câu trả lời ở đây, có rất nhiều vấn đề có thể dẫn đến thông báo lỗi này khi bạn khởi động dịch vụ MySQL. Vấn đề là, MySQL thường sẽ cho bạn biết chính xác những gì sai, nếu bạn chỉ tìm trong tệp nhật ký thích hợp.

Ví dụ, trên Ubuntu, bạn nên kiểm tra /var/log/syslog. Vì nhiều thứ khác cũng có thể đăng nhập vào tệp này, bạn có thể muốn sử dụng grepđể xem các tin nhắn mysql và tailchỉ xem xét những thông tin gần đây nhất. Tất cả cùng nhau, có thể trông giống như:

grep mysql /var/log/syslog | tail -50

Đừng mù quáng thay đổi cấu hình của bạn vì người khác nói 'Điều này hiệu quả với hệ thống của tôi'. Tìm hiểu những gì thực sự sai với hệ thống của bạn và bạn sẽ nhận được kết quả tốt hơn nhanh hơn nhiều.


5
+1 Để lùi lại một bước và chỉ ra điều gì đó mà nhiều câu trả lời khác thậm chí không cân nhắc - thực sự thấy những gì ứng dụng có thể báo cáo là một vấn đề là cách tiếp cận tốt hơn nhiều so với việc vội vã lao vào và thực hiện các thay đổi có thể không thậm chí có thể áp dụng ...!
SlySven

Ah, vậy là nó sử dụng sai .cnf. Giải thích nó. Bây giờ tôi có thể ngừng thử những thứ ngẫu nhiên và giải quyết vấn đề thực tế. Cảm ơn.
Synetech

11

Một cách giải quyết khác là chỉnh sửa /etc/my.cnf và bao gồm máy chủ trong phần [client]

 [client]
 #password       = your_password
 host            = 127.0.0.1
 port            = 3306
 socket          = /var/run/mysql/mysql.sock

Và sau đó khởi động lại dịch vụ mysql.

Cách giải quyết này đã được thử nghiệm trong: Phiên bản máy chủ: 5.5.25a-log Phân phối nguồn


nên thêm phần [client] nếu chưa có trong my.cnf
Cris

7

Tôi đã có cùng một vấn đề và nó đã được gây ra bởi một bản cập nhật trình điều khiển mysql khi máy chủ mysql đang chạy. Tôi đã sửa nó chỉ khởi động lại cả mysql và apache2:

dịch vụ sudo mysql dừng

dịch vụ sudo mysql bắt đầu

dịch vụ sudo apache2 dừng

dịch vụ sudo apache2 bắt đầu


Trong trường hợp của tôi, mysqlđã không chạy. Tôi đã chạy sudo service mysql startsau khi chạy sudo service mysql statusđể xác minh nó không chạy.
Tass

6

Trong trường hợp của tôi, tôi đã sử dụng Centos 5.5. Tôi thấy rằng vấn đề là do dịch vụ mysql đã bị dừng một số cách. Vì vậy, tôi bắt đầu dịch vụ mysql bằng lệnh:

 /etc/init.d/mysqld start

Vậy .. sai lầm ngớ ngẩn.


6

Nếu mọi thứ đều hoạt động tốt và bạn mới bắt đầu thấy lỗi này, trước khi bạn làm bất cứ điều gì khác, hãy đảm bảo bạn không hết dung lượng đĩa:

df -h

Nếu khối lượng nơi mysql.sock đang được tạo ra được sử dụng 100%, MySql sẽ không thể tạo nó và đây sẽ là nguyên nhân gây ra lỗi này. Tất cả những gì bạn cần làm là xóa những thứ không cần thiết, như các tệp nhật ký cũ.



5
sudo service mysql start

Điều này sẽ phục vụ bạn tốt. Có thể có khả năng bạn đã thay đổi một số lệnh ảnh hưởng đến cấu hình mysql.


hoặc systemctl start mariadb.servicetrong Fedora 22 hoặc RedHat 7. Sau đó, có thể đặt mật khẩu root.
Thiếu niên Mayhé

5

Có nhiều giải pháp cho vấn đề này nhưng đối với tình huống của tôi, tôi chỉ cần sửa DATE trên máy / máy chủ (Máy chủ Ubuntu 16.04 ).

i) Kiểm tra ngày của máy chủ của bạn và sửa nó.

ii) Chạy sudo /etc/init.d/mysql restart

Điều đó sẽ khiến nó bắt đầu.


4

Tôi đã gặp lỗi vì tôi đang chạy MAMP và tệp .sock của tôi ở một vị trí khác. Tôi vừa thêm một liên kết tượng trưng trong đó ứng dụng nghĩ rằng nó phải được trỏ đến vị trí thực sự của nó và nó hoạt động như một bùa mê.


Làm thế nào có thể thêm liên kết tượng trưng nơi ứng dụng nghĩ rằng nó phải được trỏ đến vị trí thực sự của nó?
Gilberto Ibarra

4

Tôi cũng thấy rằng đây là một vấn đề quyền. Tôi đã so sánh các tệp MySQL với một bản cài đặt đang hoạt động (cả trên bản nén Debian 6) và phải thực hiện các thay đổi quyền sở hữu sau (nơi mydatabasecó bất kỳ cơ sở dữ liệu nào bạn có).

Quyền sở hữu mysql:mysql:

chown mysql:mysql /var/lib/mysql
chown mysql:mysql /var/lib/mysql/ib*
chown mysql:mysql /var/lib/mysql/mydatabase
chown mysql:mysql /var/lib/mysql/mydatabase/*
chown mysql:mysql /var/lib/mysql/mysql/* 

Quyền sở hữu mysql:root:

chown mysql:root /var/lib/mysql/mysql
chown mysql:root /var/run/mysqld 

Quyền sở hữu mysql:adm:

chown mysql:adm /var/log/mysql
chown mysql:adm /var/log/mysql.err
chown mysql:adm /var/log/mysql.log* 

4

Đối với tôi - đây đơn giản là một trường hợp MySQL mất nhiều thời gian để tải. Tôi có hơn 100.000 bảng trong một trong các cơ sở dữ liệu của mình và cuối cùng nó đã bắt đầu nhưng rõ ràng phải mất một thời gian dài trong trường hợp này.


3

Nếu bạn đang sử dụng phiên bản Micro AWS (Amazon Web Services), thì đó là vấn đề về bộ nhớ. Khi tôi chạy

mysql

từ thiết bị đầu cuối nó sẽ nói

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

Vì vậy, tôi đã thử sau đây và nó sẽ thất bại.

service mysqld restart

Sau nhiều lần tìm kiếm, tôi phát hiện ra rằng bạn phải tạo một tệp hoán đổi cho MySQL để có đủ bộ nhớ. Hướng dẫn được liệt kê: http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html .

Sau đó, tôi đã có thể khởi động lại mysqld.


Tôi gặp vấn đề tương tự trên cá thể "micro" của máy chủ AWS và tôi có thể xác nhận rằng việc tạo tệp hoán đổi DID đã sửa lỗi "ERROR 2002 (HY000): Không thể kết nối với máy chủ MySQL cục bộ thông qua socket / var / run / mysqld / mysqld .sock '(111) "vấn đề. Cảm ơn bạn @ jth_92!
Konara

3

bạn luôn có thể khởi động máy chủ mysql bằng cách chỉ định vị trí của tệp mysql.sock bằng --sockettùy chọn như

mysql --socket=/var/mysql/mysql.sock 

Điều này sẽ hoạt động ngay cả khi vị trí của tệp ổ cắm được chỉ định ở một vị trí khác trong tệp my.cnf.


3

Đối với những người mà bất kỳ giải pháp nào không hoạt động, hãy thử:

cd /etc/mysql

kiểm tra xem my.cnf có mặt không

nano my.cnf

và đảm bảo bạn chỉ có một địa chỉ liên kết như sau:

địa chỉ liên kết = 127.0.0.1

Nếu không, đó có thể là vấn đề, chỉ cần thoát nano và lưu tệp.

service mysql start

lưu ý rằng nếu bạn không có nano (trình soạn thảo văn bản), chỉ cần cài đặt nó apt-get install nanovà một lần chỉ cần nhấn Ctrl + X để thoát, đừng quên nói Y để lưu và sử dụng cùng một tệp)


Thật không may, điều này đã không làm việc. Điều này về cơ bản chỉ nói rằng chỉ có máy cục bộ có thể truy cập mysql. Không có kết nối từ xa.
stephen

3

Tôi cũng gặp vấn đề này khi cố gắng khởi động máy chủ, rất nhiều câu trả lời ở đây chỉ nói để khởi động máy chủ không hoạt động. Điều đầu tiên bạn có thể làm là thực hiện các thao tác sau để xem có lỗi cấu hình nào không:

/usr/sbin/mysqld --verbose --help 1>/dev/null

Tôi đã có một lỗi xuất hiện:

160816 19:24:33 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0ubuntu0.14.04.1-log) starting as process 9461 ...
160816 19:24:33 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
160816 19:24:33 [Note] Plugin 'FEDERATED' is disabled.
160816 19:24:33 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb-online-alter-log-max-size=4294967296'
160816 19:24:33 [ERROR] Aborting

Một đơn giản grep -HR "innodb-online-alter-log-max-size" /etc/mysql/ chỉ cho tôi chính xác tập tin nào chứa dòng vi phạm, vì vậy tôi đã xóa dòng đó khỏi tệp.

Sau đó, kiểm tra /var/log/mysql/error.logtập tin của tôi, tôi đã có:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 671088640 bytes!
160816 22:46:46 [ERROR] Plugin 'InnoDB' init function returned error.
160816 22:46:46 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160816 22:46:46 [ERROR] Unknown/unsupported storage engine: InnoDB
160816 22:46:46 [ERROR] Aborting

Dựa trên câu hỏi này , giải pháp được chấp nhận sẽ không hoạt động vì tôi thậm chí không thể khởi động máy chủ, vì vậy tôi đã làm theo những gì một số ý kiến ​​đã nói và xóa tôi /var/lib/mysql/ib_logfile0/var/lib/mysql/ib_logfile1 các tệp tệp .

Điều này cho phép máy chủ khởi động và tôi có thể kết nối và thực hiện các truy vấn, tuy nhiên kiểm tra tệp nhật ký lỗi của tôi, nó đã nhanh chóng được lấp đầy với hàng chục ngàn dòng như thế này:

160816 22:52:15  InnoDB: Error: page 1415 log sequence number 82039318708
InnoDB: is in the future! Current system log sequence number 81640793100.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.

Dựa trên một gợi ý từ đây , để khắc phục điều này, tôi đã thực hiện một mysqldump và khôi phục tất cả các cơ sở dữ liệu (xem liên kết để biết một số giải pháp khác).

$ mysqldump -u root -p --allow-keywords --add-drop-database --comments --hex-blob --opt --quote-names --databases db_1 db_2 db_3 db_etc > backup-all-databases.sql
$ mysql -u root -p < backup-all-databases.sql

Tất cả mọi thứ dường như đang làm việc như mong đợi bây giờ.


Kiểm tra /var/log/mysql/error.loggiúp trong trường hợp của tôi. Có [ERROR] Can't init tc logcâu trả lời nhanh chóng bằng câu trả lời sau: dba.stackexchange.com/a/185006/163583
Juraj.Lorinc

2

Thêm

--protocol=tcp 

vào danh sách các pramaters trong kết nối của bạn làm việc cho tôi.


2

Điều này là đủ tốt cho tôi

sudo /etc/init.d/mysql restart

2

Tôi gặp vấn đề này ngày hôm nay. Không có câu trả lời nào trong số này cung cấp bản sửa lỗi. Tôi cần thực hiện các lệnh sau (tìm thấy tại đây https://stackoverflow.com/a/20141146/633107 ) để dịch vụ mysql của tôi bắt đầu:

sudo /etc/init.d/mysql stop
cd /var/lib/mysql/
ls ib_logfile*
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
... etc ...
/etc/init.d/mysql restart

Điều này được chỉ ra một phần bởi các lỗi sau trong /var/log/mysql/error.log:

140319 11:58:21 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
140319 11:58:21 [ERROR] Plugin 'InnoDB' init function returned error.
140319 11:58:21 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140319 11:58:21 [ERROR] Unknown/unsupported storage engine: InnoDB
140319 11:58:21 [ERROR] Aborting

Tôi cũng thấy lỗi đĩa đầy, nhưng chỉ khi chạy lệnh mà không có sudo. Nếu kiểm tra quyền không thành công, nó báo cáo đĩa đầy (ngay cả khi phân vùng của bạn thậm chí không gần đầy).


2

CentOS 7, 64 bit. Cài đặt mới.
Trong trường hợp của tôi, lỗi là do tôi không cài đặt đúng máy chủ MySQL và máy khách MySQL.
Sử dụng yum, tôi loại bỏ mariadbvà phiên bản cộng đồng mysql. Tôi đã tải xuống vòng / phút cho máy khách và máy chủ từ trang web chính thức của MySQL và cài đặt máy chủ và máy khách.

Khi cài đặt máy chủ, tôi nhận được một thông báo rằng mật khẩu vào tài khoản root cho MySQL đã được lưu trong một tệp mà tôi có thể xem sudo cat /root/.mysql_secret.

Vì vậy, sau khi cài đặt máy khách và máy chủ, tôi đã kiểm tra xem MySQL có hoạt động không (tôi nghĩ rằng tôi đã khởi động lại trước khi thực hiện) bằng lệnh sudo service mysql statusvà tôi đã nhận được kết quả.

MySQL đang chạy (2601) [OK]

Tôi đã đăng nhập vào MySQL bằng mật khẩu từ tệp .mysql_secret :
mysql -uroot -pdxM01Xfg3DXEPabpf. Lưu ý rằngdxM01Xfg3DXEPabpf là mật khẩu được đề cập trong tệp .mysql_secret.

và sau đó gõ vào lệnh sau tại dấu nhắc mysql để thay đổi mật khẩu của root:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somePassword');

Mọi thứ hoạt động tốt từ đó về sau.


1
trường hợp tương tự trên RHEL6U6 với phiên bản Máy chủ: 5.6.23-doanh nghiệp-thương mại-nâng cao.
HCD

2
sudo service mysqld start

Làm việc cho tôi, tôi đang sử dụng Centos


2

Điều này không trả lời trực tiếp câu hỏi của bạn mà là một tập hợp con của nó, cụ thể là sử dụng PythonAnywhere. Tôi đã vấp phải câu hỏi này khi tìm cách khắc phục vì vậy tôi thêm nó vào đây với hy vọng nó sẽ giúp được những người khác trong tình huống của tôi.


Python ở mọi nơi quyết định thay đổi tên máy chủ kết nối cơ sở dữ liệu để cải thiện hiệu quả và độ tin cậy, như chi tiết tại đây :

Tên máy chủ chính thức mà bạn nên sử dụng để kết nối với phiên bản cơ sở dữ liệu MySQL của tài khoản của bạn đã thay đổi từ mysql.server thành yourusername .mysql.pythonanywhere-services.com . Điều này bỏ qua một phần cơ sở hạ tầng của chúng tôi đã bắt đầu cho thấy các vấn đề trong những tuần gần đây, và nó sẽ hiệu quả và đáng tin cậy hơn nhiều so với cách cũ.

Do đó, bạn sẽ cần cập nhật tên máy chủ của mình thành giá trị được tô sáng ở trên.


2

Tôi vừa gặp vấn đề này. Sau một ngày kiểm tra cuối cùng tôi đã có câu trả lời rằng tệp mysql.sock được tạo khi MariaDB khởi động và bị xóa khi MariaDB tắt máy. Nó sẽ không tồn tại nếu MariaDB không chạy. có lẽ bạn đã không cài đặt MariaDB. BẠN CÓ THỂ SAU KHI HƯỚNG DẪN DƯỚI ĐÂY: https://www.linode.com/docs/database/mariadb/how-to-install-mariadb-on-centos-7 TỐT NHẤT


1

Tôi đã có lỗi ổ cắm này và về cơ bản là do MySQL không chạy. Nếu bạn chạy cài đặt mới, hãy đảm bảo rằng bạn đã cài đặt 1) gói hệ thống và 2) trình cài đặt bảng điều khiển (mysql.prefPane). Trình cài đặt bảng điều khiển sẽ cho phép bạn xem Tùy chọn hệ thống của bạn và mở MySQL, sau đó chạy một phiên bản.

Lưu ý rằng, trên bản cài đặt mới, tôi cần đặt lại máy tính của mình để các thay đổi có hiệu lực. Sau khi khởi động lại, tôi có một phiên bản mới đang chạy và có thể mở kết nối đến localhost mà không gặp vấn đề gì.

Cũng cần lưu ý, rõ ràng tôi đã cài đặt các phiên bản trước của MySQL nhưng đã gỡ bỏ bảng điều khiển, điều này giúp dễ dàng có được một phiên bản MySQL chạy cho người dùng mac.

Một liên kết tốt cho quá trình cài đặt lại này: http://www.coolestguyplanettech.com/how-to-install-php-mysql-apache-on-os-x-10-6/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.