2015-12-29 13 views
20

Tôi đã cài đặt máy chủ cộng đồng MySQL 5.7.10 bằng cách sử dụng zip nhị phân. Tôi đã giải nén mã zip trong c:\mysql và tạo thư mục dữ liệu trong c:\mysql\data. Tôi đã tạo tệp cấu hình là my.ini và đặt nó trong c:\mysql (thư mục gốc của zip được giải nén). Dưới đây là nội dung của tập tin my.iniKhông thể mở và khóa bảng đặc quyền: Bảng 'mysql.user' không tồn tại

# set basedir to your installation path 
basedir=C:\mysql 
# set datadir to the location of your data directory 
datadir=C:\mysql\data 

Tôi đang cố gắng để bắt đầu sử dụng MySQL mysqld --console, nhưng quá trình này được hủy bỏ với lỗi dưới đây.

2015-12-29T18:04:01.141930Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 
2015-12-29T18:04:01.141930Z 0 [ERROR] Aborting 

Bất kỳ trợ giúp nào về điều này sẽ được đánh giá cao.

+0

tôi nghĩ rằng đây [SO bài] (http://stackoverflow.com/questions/9083408/fatal-error-cant-open-and-lock-privilege-tables-table-mysql-host-doesnt- ví dụ) có thể giúp .. – vmachan

Trả lời

39

Bạn phải khởi tạo các thư mục dữ liệu bằng cách chạy lệnh sau

mysqld --initialize [với mật khẩu gốc ngẫu nhiên]

mysqld --initialize-insecure [với mật khẩu gốc blank]

+4

Tuy nhiên, đây không phải là một tùy chọn cho MySQL ** 5.6 ** trở xuống. Làm thế nào chúng ta sẽ đối phó với lỗi 'Không thể mở và khóa bảng đặc quyền: Bảng 'mysql.user' không tồn tại' sau đó trên các phiên bản như vậy? Điều gì * chính xác * đang gây ra sự cố này và làm thế nào nó có thể được sửa mà không cần cài đặt? – Pacerier

+2

Tìm thấy các chủ đề liên quan: http://dba.stackexchange.com/q/115701/9405 và http://superuser.com/q/660078/78897 – Pacerier

2

mysqld --initialize để khởi tạo thư mục dữ liệu, sau đó mysqld &

Nếu bạn đã khởi chạy mysqld & mà không cần mysqld - khởi tạo, bạn có thể phải xóa tất cả các tệp trong thư mục dữ liệu của mình

Bạn cũng có thể sửa đổi /etc/my.cnf để thêm đường dẫn tùy chỉnh vào thư mục dữ liệu của bạn như sau:

[mysqld] 
... 
datadir=/path/to/directory 
Các vấn đề liên quan