2015-10-21 17 views
15

Khi tôi cố gắng chạy mysqldump -u dump -p myschema > dumpfile.sql tôi nhận được thông báo lỗi này:Lỗi (1142) SELECT lệnh từ chối trên bàn session_variables với mysqldump

mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': SELECT command denied to user 'dump'@'localhost' for table 'session_variables' (1142)

tôi thấy something về việc thêm --set-gtid-purged=OFF cho một lỗi tương tự. Nhưng tôi không chạy phiên bản MySQL 5.6 của mysqldump trên cơ sở dữ liệu MySQL cũ hơn. Tuy nhiên, khi tôi thử nó, tôi nhận được một mới, tuy nhiên tương tự, lỗi:

mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'ndbinfo\_version'': SELECT command denied to user 'dump'@'localhost' for table 'session_variables' (1142)

Tôi không chắc chắn lý do tại sao người dùng cần truy cập vào bảng session_variables, mà tôi đoán là information_schema.SESSION_VARIABLES, vì this SO post nói rằng các quyền sau đây là đủ. ​

Tài trợ cho bãi @ localhost

GRANT USAGE ON *.* TO 'dump'@'localhost' 
GRANT SELECT, LOCK TABLES ON mysql.* TO 'dump'@'localhost' 
GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON myschema.* TO 'dump'@'localhost' 

gì đang xảy ra và làm thế nào để làm cho công việc mysqldump?

Dưới đây là một số thông tin hệ thống của tôi

MySQL Version

phiên bản Server: 5.7.8-rc MySQL Community Server (GPL)

phiên bản mysqldump

Ver 10.13 Distrib 5.7.8-rc, dành cho Linux (x86_64)

Trả lời

31

Đây là kết quả của việc nâng cấp máy chủ mysql. Chạy

# mysql_upgrade -u root -p --force 
# systemctl restart mysqld 
+0

Tôi nghĩ bạn nói đúng, nhưng tôi không chạy mã này. Tôi nhận thấy tuần khác rằng có các bản vá lỗi cho các gói mysql. Tôi nâng cấp sáu gói lên '5.7.9-1.el7' và xóa vấn đề, cụ thể là' mysql-community-client', 'mysql-community-common',' mysql-community-libs', 'mysql-community -libs-compat', 'mysql-community-release' và' mysql-community-server'. Tôi không chắc tại sao điều đó lại xảy ra, nhưng tôi rất vui vì nó đang hoạt động. – kas

+0

Nếu người dùng root mysql cục bộ của bạn không có mật khẩu, hãy chạy 'mysql_upgrade -u root --force' –

+0

Thao tác này sẽ nâng cấp các cột nếu cần. Tôi có nhiều cột ngày giờ và có rất nhiều cột "TIME/TIMESTAMP/DATETIME của định dạng cũ đã được nâng cấp lên định dạng mới". cảnh báo. – txyoji

Các vấn đề liên quan