Làm cách nào để thay đổi mật khẩu mysql trong centos 8?

Tôi đang sử dụng 8. 0. 23 nhưng có nhiều vấn đề. Dưới đây là các vấn đề và giải pháp. Tôi đã làm theo tài liệu mysql và có thể thực hiện thiết lập lại, mặc dù tôi gặp sự cố. Tôi đã cung cấp giải pháp của mình và tập lệnh đặt lại mẫu

Vấn đề

  1. các bước sau được vạch ra bởi những người khác đã có nhiều thất bại
  2. người dùng đang chạy daemon là mysql và tôi không thể chuyển sang id mysql
  3. gặp lỗi không thể tạo tệp khóa /var/run/mysqld/mysqlx. bít tất. lock , thư mục mysqld đang bị xóa bởi dịch vụ mysql
  4. phải tắt -9 tiến trình mysql sau khi chạy, rất xấu

Các giải pháp

Trong kịch bản, tôi sẽ đặt lại root thành New%Password

# create password reset file
cat << EOF >/tmp/deleteme
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'New%Password';
EOF
# create /var/run/mysqld
mkdir /var/run/mysqld
chown mysql:mysql /var/run/mysqld
# start mysqld and run the command
mysqld --init-file=/tmp/deleteme --user=mysql &
# wait for sql to start
while [ ! -f /var/run/mysqld/mysqlx.sock.lock ]; do sleep 1; done
sleep 3
# stop sql
mysqladmin -u root -pNew%Password shutdown
while [ -f /var/run/mysqld/mysqlx.sock.lock ]; do sleep 1; done
#clean up temp file
rm /tmp/deleteme

Cách thay đổi Mật khẩu gốc MySQL trên Ubuntu hoặc Debian hoặc CentOS. Bạn đã bao giờ quên mật khẩu root MySQL của mình hoặc sửa lỗi cài đặt MySQL trên máy chủ mới, chúng tôi đều có mặt

Trong hướng dẫn này, bạn sẽ tìm hiểu cách thay đổi mật khẩu gốc của MySQL hoặc Đặt lại mật khẩu trong trường hợp bạn quên mật khẩu cho MySQL 8, MySQL 5. 7 và Mysql 5. 6

Hướng dẫn này được thử nghiệm trên các phiên bản MySQL chạy trên máy ảo được tạo trên Google cloud với Ubuntu

Làm cách nào để thay đổi mật khẩu mysql trong centos 8?

Làm cách nào để thay đổi mật khẩu mysql trong centos 8?

BẮT ĐẦU

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

Quyền truy cập root vào máy chủ hoặc người dùng có quyền

mysql  Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using  EditLine wrapper
3

Kiểm tra phiên bản MySQL

SSH vào máy chủ của bạn để kiểm tra phiên bản máy chủ MySQL đã cài đặt. Mỗi phiên bản có phương pháp đặt lại mật khẩu riêng

Để kiểm tra phiên bản MySQL, hãy sử dụng lệnh sau

mysql -V 

Nếu bạn đang sử dụng MySQL 8. 0 bạn sẽ nhận được một out put tương tự như thế này

mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Nếu bạn đang sử dụng MySQL 5. * bạn sẽ nhận được một out put tương tự như thế này

mysql  Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using  EditLine wrapper

Khởi động máy chủ MySQL với bảng bỏ qua

Bây giờ bạn có thể dừng máy chủ MySQL của mình bằng lệnh sau

sudo systemctl stop mysql

Bây giờ hãy khởi động máy chủ MySQL với tùy chọn 

mysql  Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using  EditLine wrapper
4. _______1_______5 cuối cùng được yêu cầu ở đây trong lệnh bên dưới

Trong hướng dẫn này, chúng tôi đề cập đến chủ đề sau. 1) đặt và thay đổi mật khẩu MySQL (mật khẩu root và mật khẩu người dùng) trong hệ điều hành Linux, chẳng hạn như centOS, AlmaLinux… và khôi phục lại nếu quên


Để thực hiện các hướng dẫn trong hướng dẫn này, bạn cần truy cập vào dòng lệnh Linux hoặc SSH. Và bạn là quản trị viên hệ thống. Lưu ý rằng người dùng root của hệ điều hành khác với người dùng root của dịch vụ MySQL

Dịch vụ quản lý cơ sở dữ liệu MySQL là một trong những phần cơ bản nhất của máy chủ và việc quản lý nó đúng cách sẽ có tác động lớn đến mức độ hiệu suất và bảo mật

Cách đặt mật khẩu cho người dùng root của dịch vụ MySQL

Nếu chưa có mật khẩu cho người dùng root trước đó, bạn có thể dễ dàng đặt mật khẩu bằng lệnh sau

________số 8_______

Thay vì “MẬT KHẨU MỚI”, bạn phải nhập mật khẩu bạn muốn. Nhưng nếu mật khẩu cho người dùng root của dịch vụ MySQL đã tồn tại, bạn phải tiếp tục với lệnh sau

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 

Bạn phải nhập mật khẩu hiện tại thay vì “OLDPASSWORD” và mật khẩu mới thay vì NEWPASSWORD. Cũng cần lưu ý rằng nếu bạn muốn thay đổi mật khẩu của người dùng MySQL khác, bạn có thể thay thế tên người dùng bằng root

Lưu ý rằng bạn phải có một mật khẩu rất mạnh bao gồm chữ hoa và chữ thường, số và ký tự đặc biệt như @ #. Và… Dùng sao cho khỏi dễ đoán

Một cách khác để đặt mật khẩu người dùng root trong MySQL

Bạn cũng có thể làm điều này trong môi trường cú pháp mysql. Để vào môi trường lệnh mysql, bạn phải nhập lệnh sau

mysql -u root -p PASSWORD

Thay vì PASSWORD, bạn phải nhập mật khẩu gốc. Sau khi vào môi trường lệnh mysql, bạn có thể thay đổi mật khẩu bằng lệnh sau

update user set password=PASSWORD("NEWPASSWORD") where User='root';

Thay vì NEWPASSWORD, bạn phải nhập mật khẩu mới. và sau đó chạy

flush privileges;
quit

Cách thay đổi mật khẩu root MySQL nếu bạn quên.

Nếu bạn quên mật khẩu root MySQL, không cần phải lo lắng và bạn có thể đặt mật khẩu mới bằng cách làm theo các bước sau

Đầu tiên, dừng dịch vụ MySQL bằng lệnh sau

systemctl stop mysql

Sau đó, chúng tôi chạy dịch vụ MySQL bằng lệnh sau mà không cần phải nhập mật khẩu

sudo mysqld_safe --skip-grant-tables &

Đảm bảo bạn gõ dấu và (&) ở cuối lệnh. Thao tác này sẽ chạy lệnh ở chế độ nền và cho phép bạn nhập lệnh theo các bước sau. Chạy MySQL với tùy chọn —skip-grant-tables được bật rất không an toàn và chỉ nên được thực hiện trong một khoảng thời gian ngắn khi bạn đặt lại mật khẩu. Các bước bên dưới chỉ cho bạn cách dừng phiên bản máy chủ mysqld_safe một cách an toàn và khởi động máy chủ MySQL một cách an toàn sau khi bạn đã đặt lại mật khẩu gốc

Sửa Lỗi & đặt lại mật khẩu gốc khi ” /var/run/mysqld’ cho tệp ổ cắm UNIX không tồn tại”

có thể giống tôi khi bạn sử dụng mã mysqld_safe –skip-grant-tables & gặp lỗi sau

 mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

để khắc phục sự cố trên, hãy chạy lệnh bên dưới

 $ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld 

sau đó thử lại

sudo mysqld_safe --skip-grant-tables &

Bây giờ chúng ta có thể đăng nhập vào mysql bằng lệnh sau với người dùng root

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 
0

Đặt mật khẩu gốc mới

Chạy các lệnh sau nếu bạn chạy MySQL 5. 7. 6 trở lên hoặc MariaDB 10. 1. 20 trở về sau

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 
1

Nếu câu lệnh ALTER USER không phù hợp với bạn, hãy thử sửa đổi trực tiếp bảng người dùng

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 
2

Chạy các lệnh sau nếu bạn có MySQL 5. 7. 5 trở về trước hoặc MariaDB 10. 1. 20 trở về trước

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 
3

Trong cả hai trường hợp nếu mọi việc suôn sẻ, bạn sẽ thấy đầu ra sau

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 
4

Cách đặt lại Mysql 8. x Mật khẩu

Đặt lại mật khẩu root MySQL 8 hoàn toàn khác. chạy bên dưới lệnh

mysqladmin -u root -p 'OLDPASSWORD' password NEWPASSWORD 
5

Sau khi thực hiện công việc và đặt mật khẩu mới, chúng ta có thể khởi động lại dịch vụ MySQL bằng lệnh sau

Làm cách nào để thay đổi mật khẩu root MySQL trong CentOS?

Đặt lại mật khẩu người dùng gốc MySQL trong Centos 7 .
Dừng cơ sở dữ liệu MySQL. systemctl dừng mysqld. Dịch vụ
Bắt đầu MySQL ở Chế độ an toàn. mysqld_safe –skip-grant-tables &
Kết nối cơ sở dữ liệu MySQL với người dùng gốc. mysql-uroot
Thay đổi mật khẩu gốc. sử dụng mysql;.
Khởi động lại cơ sở dữ liệu MySQL. .
Kết nối cơ sở dữ liệu MySQL với người dùng root bằng mật khẩu mới

Làm cách nào để đặt lại mật khẩu gốc của MySQL trong MySQL 8?

Đặt lại mật khẩu MySQL . mysql -u root CẬP NHẬT mysql. người dùng SET authentication_string=null WHERE User='root'; .

Làm cách nào để thay đổi mật khẩu cho MySQL?

Trong ứng dụng khách mysql, yêu cầu máy chủ tải lại các bảng cấp phép để các câu lệnh quản lý tài khoản hoạt động. mysql> ĐẶC QUYỀN FLUSH; Sau đó, thay đổi mật khẩu tài khoản 'root'@'localhost' . Thay thế mật khẩu bằng mật khẩu mà bạn muốn sử dụng.

Cách đặt lại MySQL 5. 6 mật khẩu root trong CentOS 7?

Đối với MySQL lên đến 5. 6 bao gồm . ĐẶC QUYỀN FLUSH; . \q. Khởi động lại máy chủ MySQL. khởi động lại dịch vụ mysqld