Cài đặt MySQL của tôi bị hỏng. Làm thế nào để cấu hình lại hoàn toàn nó?


20

Dưới đây là các lệnh sau tôi đã thực hiện.

$ sudo service mysql start
mysql start/running

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

$ aptitude search mysql |grep ^i
i   libapache2-mod-auth-mysql       - Module Apache 2 pour l'authentification vi
i   libdbd-mysql-perl               - Perl5 database interface to the MySQL data
i   libmysqlclient16                - MySQL database client library             
i   mysql-client-5.1                - MySQL database client binaries            
i   mysql-client-core-5.1           - MySQL database core client binaries       
i   mysql-common                    - MySQL database common files, e.g. /etc/mys
i   mysql-server-5.1                - MySQL database server binaries and system 
i   mysql-server-core-5.1           - MySQL database server binaries            
i   php5-mysql                      - MySQL module for php5                     

alm - tìm mysql.log của bạn cat /var/log/mysql.logvà chỉnh sửa câu trả lời của bạn với tập tin này ....
hhlp

5
Tôi thích cách bạn sử dụng grep ^ i đó. Khá thông minh.
Luis Alvarado

Chính xác thì nó làm gì? năng khiếu là công cụ cài đặt.
dùng4951

@JimThio Đó là để tìm các gói cài đặt liên quan đến câu hỏi này.
Tái lập lại Monica - -

Câu trả lời:


16

Trước khi cài đặt lại check / var / log / mysql cho các tệp nhật ký có thể chứa manh mối về lý do tại sao mysql không hoạt động. Nếu không có nhật ký, nhật ký vào tệp có thể không được bật trong cấu hình của bạn: Cấu hình Nhật ký Lỗi Mysql

Để cài đặt lại bất kỳ gói kiểm tra phiên bản đã cài đặt với

dpkg -l|grep mysql-server

sau đó cho phiên bản 5.7 sử dụng

sudo apt-get install mysql-server-5.7 --reinstall

Nếu điều này không cho phép bạn cấu hình lại gói bạn có thể sử dụng

sudo dpkg-reconfigure mysql-server-5.7

sudo dpkg-reconfigure mysql-server-5.1 đã làm các trick cho tôi khi tôi nâng cấp 11,10-12,04 mysqld tôi sẽ không bắt đầu và tôi đã buộc phải tự mysqld sudo
Hanynowsky

7

ERROR 2002 (HY000): Không thể kết nối với ổ cắm thông qua máy chủ MySQL cục bộ '/ tmp / mysql.sock' (2)

Trong cài đặt MySQL có thể chỉ định nơi chúng tôi sẽ có ổ cắm cho các kết nối cục bộ. Khi thực hiện cập nhật không phải là hiếm gặp lỗi "Không thể kết nối với ổ cắm máy chủ MySQL cục bộ." Hãy xem cách giải quyết vấn đề này.

Lỗi trông như thế này:

Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)

thông qua pschúng ta có thể thấy nếu được chỉ định bởi tham số và vị trí của nó:

# ps -fea | grep mysqld
mysql    17661 14003  1 Feb19 ?        00:24:59 /usr/local/mysql-percona/libexec/mysqld --basedir=/usr/local/mysql-percona --datadir=/var/data/mysql/datadir/data --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log
root     23790  7840  0 09:25 pts/0    00:00:00 grep mysqld

Trong trường hợp này, chúng tôi thấy là trong /var/lib/mysql/mysql.sock. Nếu không tìm thấy dưới dạng tham số thì nên xem phần mysqld /etc/my.cnfđể tìm tham số:

grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock

Nếu chúng ta biết nó ở đâu, chúng ta cần sửa đổi cùng một tệp ( /etc/my.cnf) và thêm phần máy khách socket tham số:

[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

1
Đó là những gì tôi sẽ đặt như một câu trả lời. Tôi đã biết đây là câu trả lời chính xác cho hầu hết các vấn đề liên quan như thế này. Sẽ +1 bạn khi tôi có được khả năng một lần nữa.
Luis Alvarado

cảm ơn đã giải thích cặn kẽ! trong trường hợp của tôi ngay cả khi tôi đã chỉ định một ổ cắm trong my.cnf, nó không lắng nghe nó (params hiển thị trong 'ps' trống và không có kết nối nào có thể. buộc sử dụng tcp chứ không phải ổ cắm.
Tapper

2

Đối với những người xem sau:
Tôi đã gặp phải lỗi tương tự khi tôi không thể nâng cấp gói máy chủ mysql , nhưng tôi thấy điều này đã giải quyết vấn đề của tôi . Khi sudo apt-get install -fkhông làm việc, hãy thử sudo apt-get purge mysql*. Bây giờ bạn có thể cài đặt lại máy chủ mysql.


1
xin lưu ý rằng sudo apt-get purge mysqlsẽ không bảo vệ cơ sở dữ liệu của bạn
Nelson Owalo

1

Một trong những vấn đề tôi gặp phải là biết tôi đang gặp vấn đề với phiên bản nào. Đây là một ý tưởng gọn gàng:

$ aptitude search mysql |grep ^i

Nhưng đây là những gì tôi thấy rất quan trọng trong vấn đề:

$ apt-get --reinstall install mysql-server-5.x

(trong đó x là phiên bản. Nếu bạn không thêm cái này, bạn có thể làm việc với dpkg sai.


0

Điều này làm việc cho tôi

sudo apt purge mysql*
sudo apt autoremove
sudo apt autoclean
sudo apt install mysql-server

Sự miêu tả

1) Lệnh đầu tiên loại bỏ mọi thứ liên quan đến MySQL với các tệp cấu hình của chúng.

2) Cái thứ hai loại bỏ những gói không cần thiết nữa.


Chuyển hướng [!]:

1) DigitalOcean

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.