Nếu bạn gặp vấn đề nan giải kỳ lạ này trong các bảng cấp MySQL cho Windows, tôi khuyên bạn nên như sau:
Bước 1. Nhận bản phân phối ZIP FIle không có trình cài đặt trong đó.
Bước 2. Giải nén nội dung của nó thành C:\MySQLZipStuff
Bước 3. Tìm thư mục C:\MySQLZipStuff\data\mysql
Bước 4. Sao chép tất cả các tệp trong C:\MySQLZipStuff\data\mysql
thư mục mysql của thư mục dữ liệu bạn muốn.
Bước 5. net start mysql
Nếu bạn đã có thư mục mysql, bạn có thể thực hiện việc này thay thế:
Bước 1. Chỉnh sửa my.ini
bằng cách thêm dòng này vào phần [mysqld]
[mysqld]
skip-grant-tables
skip-networking
Bước 2. net stop mysql
Bước 3. net start mysql
Tại thời điểm này, bạn chỉ có thể nhập 'mysql' và bạn đang ở. Tuy nhiên, bạn không thể chạy các lệnh GRANT với các bảng cấp bị vô hiệu hóa.
Bước 4. Bạn sẽ phải nhập một siêu người dùng bằng tay. Như thế này
a) INSERT INTO mysql.user SET user='root',host='localhost';
b) SELECT * FROM mysql.user WHERE user='root' AND host='localhost'\G
Điều này sẽ hiển thị tất cả các cột trong bảng người dùng. Bạn sẽ phải thay đổi thủ công từng cột như thế này:
CẬP NHẬT mysql.user SET select_priv = 'Y', insert_priv = 'Y', ... WHERE user = 'root' AND host = 'localhost';
c) Thiết lập mật khẩu cho root @ localhost như thế này:
UPDATE mysql.user SET password=PASSWORD('whateverpasswordyouwant')
WHERE user='root' AND host='localhost';
Bước 5. Xóa skip-grant-tables
và skip-networking
từmy.ini
Bước 6. net stop mysql
Bước 7. net start mysql
Bây giờ bạn có thể đăng nhập vào mysql bằng root bằng cách sử dụng 'anypasswordyouwant' làm mật khẩu.
Hãy thử một lần !!!
:-(