Mysql đặt lại mật khẩu gốc ubuntu

Chúng tôi sẽ không được nhắc đặt mật khẩu người dùng root khi cài đặt MySQL trên Ubuntu 18. 04, Do đó, người dùng root MySQL được tạo bằng mật khẩu trống. Nhưng người dùng hệ thống gốc có thể đăng nhập vào bảng điều khiển gốc MySQL mà không cần mật khẩu

Máy chủ MySQL trên Ubuntu 18. 04 sử dụng plugin Unix Socket để xác thực người dùng root MySQL theo mặc định. Ổ cắm Unix còn được gọi là plugin xác thực auth_socket xác thực người dùng bằng thông tin đăng nhập hệ điều hành. Điều đó có nghĩa là người dùng chỉ có thể đăng nhập Nếu tên người dùng hệ điều hành khớp với tên người dùng MySQL do khách hàng chỉ định

Nếu bạn đã đăng nhập vào tài khoản người dùng root Ubuntu, thì bạn có thể đăng nhập vào tài khoản root mysql mà không cần mật khẩu

Mysql đặt lại mật khẩu gốc ubuntu

Điều này cũng có nghĩa là chúng tôi không thể đăng nhập vào bảng điều khiển gốc MySQL từ người dùng Linux thông thường. Ví dụ: Người dùng Linux Greg không thể đăng nhập vào root MySQL bằng ứng dụng khách mysql

$ whoami
greg
$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Tuy nhiên, nếu người dùng Greg có đặc quyền sudo, thì anh ta có thể chạy lệnh mysql với sudo và đăng nhập vào root mysql của Ubuntu mà không cần mật khẩu

sudo mysql

Vì vậy, từ quan điểm bảo mật, đây là một triển khai tốt vì hiện tại không có quyền truy cập root mysql bên ngoài tài khoản root của hệ thống Ubuntu Linux

Nhưng vì một số lý do, nếu bạn muốn đặt mật khẩu cho root mysql, hãy đăng nhập vào bảng điều khiển MySQL từ tài khoản hệ thống gốc và chạy lệnh sau

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

Ghi chú. ở đây mật khẩu mới là mật khẩu gốc, hãy thay thế bằng mật khẩu mạnh

Từ bây giờ, bạn cần nhập mật khẩu để đăng nhập với quyền root mysql và bất kỳ người dùng hệ thống nào cũng có thể đăng nhập vào tài khoản root nếu họ biết mật khẩu

mysql -u root -p

Lưu ý rằng, hướng dẫn này có thể không hoạt động đối với Máy chủ MariaDB, Đối với hướng dẫn MariaDB, hãy nhấp vào liên kết này

Đặt lại mật khẩu root MySQL Nếu bạn quên mật khẩu

Điều gì sẽ xảy ra nếu root MySQL của bạn đã có mật khẩu và bạn quên nó. Trong trường hợp đó, bạn phải đặt lại mật khẩu gốc của MySQL, Có một số cách chúng tôi có thể thực hiện việc này trên Ubuntu 18. 04

Phương pháp dễ nhất và nhanh nhất là đăng nhập vào máy chủ MySQL với tên debian-sys-maint và thay đổi mật khẩu gốc. Một phương pháp khác là sử dụng phương thức "--skip-grant-tables"

Tài khoản người dùng debian-sys-maint là tài khoản người dùng quản trị được tạo tự động khi cài đặt Máy chủ MySQL trên Ubuntu và người dùng này có toàn quyền truy cập vào tất cả các cơ sở dữ liệu

/etc/mysql/debian. cnf chứa mật khẩu MysQL cho tài khoản debian-sys-maint trên máy chủ Ubuntu của bạn

Mysql đặt lại mật khẩu gốc ubuntu

Bạn có thể sử dụng các thông tin đăng nhập này để đăng nhập vào máy chủ Ubuntu MySQL

Để đặt lại mật khẩu gốc mysql, trước tiên hãy đăng nhập vào bảng điều khiển MySQL với tư cách là người dùng debian-sys-maint

sudo mysql --defaults-file=/etc/mysql/debian.cnf

Chạy lệnh  ALTER USER như sau để thay đổi mật khẩu gốc mysql

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

Bây giờ bạn sẽ có thể đăng nhập vào bảng điều khiển gốc bằng mật khẩu mới

Như bạn có thể thấy việc đặt lại mật khẩu gốc của MySQL bằng người dùng debian-sys-maint rất đơn giản và dễ hiểu. Nhưng chỉ trong trường hợp nó không phù hợp với bạn, có một cách khác để thay đổi mật khẩu gốc bằng cách sử dụng --skip-grant-tables

Sử dụng --skip-grant-tables

Trong phương thức --skip-grant-tables, trước tiên chúng ta dừng máy chủ MySQL và khởi động máy chủ với tùy chọn --skip-grant-tables cho phép chúng ta đăng nhập vào bảng điều khiển gốc mà không cần mật khẩu. Sau đó, chúng tôi đăng nhập vào bảng điều khiển gốc và thay đổi mật khẩu. Vì vậy, đây là cách nó được thực hiện

Dừng máy chủ MySQL

sudo systemctl stop mysql.service

Tạo thư mục /var/run/mysqld/

sudo mkdir -p /var/run/mysqld/
sudo chown mysql:mysql /var/run/mysqld/
sudo chmod 755 /var/run/mysqld/

Khởi động máy chủ MySQL, chỉ lần này sử dụng lệnh mysqld với tùy chọn  --skip-grant-tables

________số 8

Đăng nhập vào bảng điều khiển MySQL bằng cách ban hành lệnh mysql

mysql

Chạy FLUSH PRIVILEGES để tải lại các khoản trợ cấp và Sử dụng lệnh ALTER USER để đặt lại mật khẩu của người dùng root

sudo mysql
0

Thoát khỏi bảng điều khiển MySQL, hủy quy trình mysqld và khởi động mysql bằng lệnh systemctl

sudo mysql
1

Bây giờ bạn sẽ có thể kết nối với MySQL root trên Ubuntu bằng mật khẩu mới

--skip-grant-tables khởi động máy chủ MySQL mà không cần mật khẩu cho tất cả người dùng và đó là lý do tại sao chúng tôi có thể đăng nhập mà không cần cung cấp mật khẩu

Tóm lược

Trong hướng dẫn này, chúng tôi đã học cách đặt lại mật khẩu gốc mysql trong Ubuntu 18. 04 bionic hải ly. Máy chủ MySQL trên Ubuntu 18. 04 sử dụng plugin Unix Socket để xác thực theo mặc định và do đó chỉ người dùng root Ubuntu mới có thể truy cập tài khoản root mysql

Chúng ta có thể đặt Mật khẩu mới bằng cách thay đổi phương thức xác thực thành mysql_native_password

Nếu quên mật khẩu, bạn có thể đăng nhập với tư cách người dùng debian-sys-maint và thay đổi mật khẩu hoặc sử dụng phương thức --skip-grant-tables

Tiếp theo là gì? . 04

Làm cách nào để đặt lại mật khẩu cho người dùng root MySQL?

Để thay đổi mật khẩu cho tài khoản root có phần tên máy chủ khác, hãy sửa đổi hướng dẫn sử dụng tên máy chủ đó. .
Đăng nhập vào hệ thống của bạn với tư cách Quản trị viên
Dừng máy chủ MySQL nếu nó đang chạy. .
Tạo một tệp văn bản chứa câu lệnh gán mật khẩu trên một dòng. .
Lưu các tập tin

Làm cách nào để đặt lại mật khẩu root MySQL trên Linux?

Cách đặt lại hoặc thay đổi mật khẩu gốc của MySQL trên Linux hoặc Windows .
Bước 1. Đăng nhập với tư cách là Người dùng MySQL
Bước 2. Tìm. Tệp pid cho Dịch vụ MySQL
Bước 3. Giết quá trình mysqld
Bước 4. Tạo tệp mật khẩu
Bước 5. Khởi động lại máy chủ MySQL và áp dụng mật khẩu mới
Bước 6. Dọn dẹp

Mật khẩu gốc mặc định cho MySQL trong Ubuntu là gì?

Người dùng mặc định cho MySQL là root và theo mặc định, nó không có mật khẩu

Làm cách nào để đặt lại máy chủ MySQL trong Ubuntu?

MySQL 8 – Đặt lại mật khẩu gốc . THAY ĐỔI NGƯỜI DÙNG 'root'@'localhost' ĐƯỢC XÁC ĐỊNH VỚI mysql_native_password BẰNG 'your_password_here';