2017-02-01 21 views
13

Tôi đang cố gắng đặt lại mật khẩu gốc sau MysqlPasswordReset nhưng khi tôi cố gắng khởi động máy chủ với --skip-grant-tables máy chủ doesn ' t bắt đầuKhông thể đặt lại mật khẩu gốc bằng --skip-grant-tables trên ubuntu 16

  • Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-59-generic x86_64)
  • mysql Ver 14,14 distrib 5.7.17, dành cho Linux (x86_64)

server là đang chạy

$ mysql -u root 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

Dừng máy chủ

$ sudo /etc/init.d/mysql stop 
[ ok ] Stopping mysql (via systemctl): mysql.service. 

Đang cố gắng để bắt đầu với --skip-cấp-bảng

sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & 
[1] 9856 

Kết nối với không có mật khẩu

$ mysql -u root 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 
[1]+ Exit 1     sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking 

Tôi cũng đã cố gắng để bắt đầu với mysql_safe (lỗi .log trống)

sudo mysqld_safe --skip-grant-tables 
2017-02-01T16:33:31.382105Z mysqld_safe Logging to syslog. 
2017-02-01T16:33:31.383942Z mysqld_safe Logging to '/var/log/mysql/error.log'. 
2017-02-01T16:33:31.386058Z mysqld_safe Logging to '/var/log/mysql/error.log'. 
2017-02-01T16:33:31.388009Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists. 
+0

có thể trùng lặp của [ERROR 2002 (HY000): Không thể kết nối với máy chủ MySQL địa phương thông qua ổ cắm ' /var/run/mysqld/mysqld.sock '(2)] (http: // stackoverflow.com/questions/11657829/error-2002-hy000-cant-connect-to-local-mysql-server-through-socket-var-run) – davejal

+0

khi sử dụng chế độ an toàn, bạn có thể tạo kết nối bằng root không? Bạn đã thử mà không có '--skip-networking'? – davejal

+0

@davejal Có, tôi đã thử mà không có mạng -skip và tôi không thể kết nối với máy chủ mysql ở chế độ an toàn – pedronalbert

Trả lời

36

Tôi thấy rằng mysql.sock bị xóa khi dịch vụ mysql bị dừng và mysqld_safe không thể tạo nó (tôi không thể tìm thấy lý do), vì vậy giải pháp của tôi đã trở lại thư mục vớ và khôi phục trước khi bắt đầu mysqld_safe

máy chủ Bắt đầu

$ sudo service mysql start 

đến sock thư mục

$ cd /var/run 

Trở lại những chiếc vớ

$ sudo cp -rp ./mysqld ./mysqld.bak 

máy chủ Dừng

$ sudo service mysql stop 

Khôi phục vớ

$ sudo mv ./mysqld.bak ./mysqld 

Bắt đầu mysqld_safe

$ sudo mysqld_safe --skip-grant-tables --skip-networking & 

Init mysql shell

mysql -u root 

Thay đổi mật khẩu

FLUSH PRIVILEGES; 

SET PASSWORD FOR [email protected]'localhost' = PASSWORD('my_new_password'); 
+0

Tôi đã phải đặt mật khẩu theo cách đó: http://stackoverflow.com/questions/37879448/mysql- không-trên-mysql-lỗi-1524-hy000-plugin-auth-socket-là-không-nạp # answer-37879449 –

-1

sudo dpkg -P mysql-server mysql-server-5,7
sudo apt-get autoremove
sudo apt-get clean
dpkg -l | grep -i mysql
sudo rm -rvf/var/lib/mysql
sudo apt-get install mysql-server

+1

Vui lòng thử thêm thông tin trong câu trả lời của bạn và giải thích tại sao và cách câu trả lời này có thể giúp OP giải quyết vấn đề. Chỉ đăng một số dòng mã và lệnh không được coi là hữu ích. Bạn cũng có thể xem [Làm cách nào để viết câu trả lời hay?] (Https://stackoverflow.com/help/how-to-answer) – EhsanT

Các vấn đề liên quan