2013-09-02 20 views
10

Tôi cố gắng để tạo người dùng mới trong mysql,trong khi tạo ra và xóa người dùng trong mysql ERROR 1396 (HY000): Operation CREATE USER

create user 'saravanakumar'@'localhost' identified by 'saravanakumar'; 

nó cho thấy lỗi như,

ERROR 1396 (HY000): Operation CREATE USER failed for 'saravanakumar'@'localhost' 

sau khi tôi đọc

ERROR 1396 (HY000): Operation CREATE USER failed for 'jack'@'localhost'

tôi delete user.But tôi can't.It lãm

mysql> SELECT User FROM mysql.user; 
    +---------------+ 
    | User   | 
    +---------------+ 
    | root   | 
    | saravanakumar | 
    | saravanakumar | 
    |    | 
    | root   | 
    | saravanakumar | 
    |    | 
    | root   | 
    +---------------+ 
    8 rows in set (0.00 sec) 

    mysql> FLUSH PRIVILEGES; 
    Query OK, 0 rows affected (0.00 sec) 

    mysql> SELECT User FROM mysql.user; 
    +---------------+ 
    | User   | 
    +---------------+ 
    | root   | 
    | saravanakumar | 
    | saravanakumar | 
    |    | 
    | root   | 
    | saravanakumar | 
    |    | 
    | root   | 
    +---------------+ 
    8 rows in set (0.00 sec) 

làm cách nào tôi có thể xóa tất cả những người dùng này trong bảng và cách tôi có thể tạo một người dùng. Nguyên nhân gốc của vấn đề này là gì? các chuyên gia hãy giúp tôi.

+0

Trình chọn 'người dùng, máy chủ lưu trữ từ mysql.user' là gì? Người dùng trùng lặp trong bảng phải có các máy chủ khác nhau. – Barmar

Trả lời

12
ERROR 1396 (HY000): Operation CREATE USER failed for 'saravanakumar'@'localhost' 

Thực sự cho biết người dùng đã tồn tại hoặc đã tồn tại.

FLUSH PRIVILEGES không xóa người dùng.

Reloads the privileges from the grant tables in the mysql database. 

The server caches information in memory as a result of GRANT, CREATE USER, 
CREATE SERVER, and INSTALL PLUGIN statements. This memory is not released 
by the corresponding REVOKE, DROP USER, DROP SERVER, and UNINSTALL PLUGIN 
statements, so for a server that executes many instances of the statements 
that cause caching, there will be an increase in memory use. 
This cached memory can be freed with FLUSH PRIVILEGES. 

Bạn đang tìm kiếm DROP USER.

DROP USER user [, user] ... 

http://dev.mysql.com/doc/refman/5.1/en/drop-user.html


Trình tự buisness sẽ là:

DROP USER 'saravanakumar'@HOSTNAME; 
CREATE USER 'saravanakumar'@HOSTNAME [IDENTIFIED BY 'password']; 

Bạn có thể sẽ cần phải tuôn ra đặc quyền nếu bạn sử dụng xóa từ (không). Hãy nhớ: điều này không nhất thiết thu hồi tất cả các đặc quyền mà người dùng này có thể có (như đặc quyền bảng), bạn sẽ phải tự làm điều này - nếu bạn không có khả năng tái tạo người dùng.

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'saravanakumar'@HOSTNAME; 
DELETE FROM mysql.user WHERE user='saravanakumar'; 
FLUSH PRIVILEGES; 
CREATE USER 'saravanakumar'@HOSTNAME [IDENTIFIED BY 'password']; 

"người sử dụng" đòi hỏi bạn phải chỉ định một tên tài khoản

Syntax for account names is 'user_name'@'host_name' 

An account name consisting only of a user name is equivalent 
to 'user_name'@'%'. For example, 'me' is equivalent to 'me'@'%'. 

đọc thêm: http://dev.mysql.com/doc/refman/5.1/en/account-names.html


Vui lòng đọc những báo cáo lỗi để làm rõ thêm

http://bugs.mysql.com/bug.php?id=28331

http://bugs.mysql.com/bug.php?id=62255

+0

Cảm ơn câu trả lời của bạn. Tôi không may xóa tất cả người dùng bao gồm thư mục gốc, cuối cùng tôi chỉ đọc quyền root. Bởi vì tôi trong khi xóa người dùng nó cho thấy một số lỗi nội bộ xóa users.I thấy ở trên liên kết, nó có một lỗi về vấn đề này trong FEDORA và CENTOS trong khi xóa người dùng bằng truy vấn trong trường hợp thấp hơn.Tôi đã gỡ bỏ cài đặt mysql và cài đặt lại nó. Bây giờ nó hoạt động tốt. – saravanakumar

2

Đối với tôi làm việc, tôi đặt tên máy in chữ hoa:

thả USER 'user' @ 'localhost'

0
select User, Host from mysql.user; 

Làm rõ điều gì đã xảy ra cho tôi. Tôi đã kết thúc với cùng một người dùng dưới một vài máy chủ. Xóa những thứ không mong muốn đã giúp!

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