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 đề
- các bước sau được vạch ra bởi những người khác đã có nhiều thất bại
- người dùng đang chạy daemon là mysql và tôi không thể chuyển sang id mysql
- 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
- 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 /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
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
3Kiể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 NEWPASSWORD0
Đặ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 NEWPASSWORD1
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 NEWPASSWORD2
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 NEWPASSWORD3
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 NEWPASSWORD4
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 NEWPASSWORD5
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