2013-10-07 1 views
3

Я установил MySQL на моем сервере CentOS 6.4. Я вошел в свой корень и изменил его пароль.ОШИБКА 1045 (28000): Доступ запрещен для пользователя 'username' @ '%' (с использованием пароля: ДА)

Позже я подумал, что должен сделать новый пользователь и использовать этот пользователь, как мой пользователь по умолчанию, так что я создал новое имя пользователя golden с помощью следующей команды:

CREATE USER 'golden'@'%' IDENTIFIED BY 'password'; 

Тогда я применил разрешение пользователю golden:

GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%'; 

FLUSH PRIVILEGES; 

Сейчас этот пользователь: golden был в состоянии сделать все. Итак, я наконец Deleted the root user. Теперь я застрял в предоставлении привилегии моему другому новому пользователю.

Я создал другой пользователь, когда я был зарегистрирован через golden (В это время я уже удалил root пользователя и команду успешно создан и новый пользователь Я могу видеть его в списке также)

CREATE USER 'fashion'@'%' IDENTIFIED BY 'password'; 

Тогда следующие команды ниже дает мне сообщение об ошибке:

GRANT ALL PRIVILEGES ON *.* TO 'fashion'@'%'; 

оШИБКА: ERROR 1045 (28000): Доступ запрещен для пользователя 'золотой' @ '%' (используя пароль: ДА)

Я также попытался следующую команду результат ниже:

 
mysql> SELECT USER(),CURRENT_USER(); 
+------------------+----------------+ 
| USER()   | CURRENT_USER() | 
+------------------+----------------+ 
| [email protected] | [email protected]%  | 
+------------------+----------------+ 

Если я не смогу дать доступ к этому пользователю, то как я могу войти в систему и использовать базу данных? Незлая помощь.

EDIT 1: Следующая команда дает мне следующий результат

 
mysql> select user, host FROM mysql.user; 
+------------+-------+ 
| user  | host | 
+------------+-------+ 
| golden  | %  | 
| fashion | %  | 
+------------+-------+ 
+0

Итак, сколько всего пользователей существует в вашем mysql ?? – Jhanvi

+0

@Jhanvi Я сделал редактирование, любезно проверяю –

ответ

6

Во-первых, я не могу представить себе причину, почему вы удалили root пользователя. Но вернемся к вопросу - вы должны указать WITH GRANT OPTION, как это:

(Тем не менее, это должно быть включено после того, как вы получите MySQL повторно установлен, как если бы вы не имеете root доступ и пользователь не имеющий достаточные привилегии также, то лучше всего, чтобы перезапустить процесс установки и сделать пользователю и предоставлять им привилегии, как определено ниже)

 
mysql> create user 'golden'@'localhost' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec) 

mysql> grant all privileges on *.* to [email protected] with grant option; 
Query OK, 0 rows affected (0.00 sec) 

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

, а затем

 
mysql> select current_user(); 
+------------------+ 
| current_user() | 
+------------------+ 
| [email protected] | 
+------------------+ 
1 row in set (0.00 sec) 

mysql> create database testing; 
Query OK, 1 row affected (0.03 sec) 

mysql> grant all privileges on testing.* to test; 
Query OK, 0 rows affected (0.02 sec) 

mysql> drop database testing; 
Query OK, 0 rows affected (0.12 sec) 

но еще раз, подумайте дважды, прежде чем удалять пользователя root.

+0

Но теперь я зарегистрирован как пользователь 'golden'. Так как я могу выполнить это сейчас? Потому что у меня нет 'root' –

+0

Теперь. Переустановка вашего экземпляра сервера MySQL кажется самым простым решением. Вот почему вы не должны ничего делать, если не уверены. 'root' обычно является системным пользователем. Возможно, у вас есть конфигурация без нее, но это не рекомендуется. –

+0

Хорошо, я надеялся сделать это. В любом случае, спасибо за ваше время и усилия. Он выглядит лучше всего переустановить –

2

Вы пробовали это?

update mysql.user set grant_priv='Y' where user='golden'; 
flush privileges; 

а затем закройте и заново подключитесь к базе данных как пользователь золотой.

+0

, это сработало для меня! – gray

0

самый простой способ решить эту проблему is--

1.Go контролировать Pannel и сделать скрытые файлы и папки видимыми (если это не сделано ранее) 2.now перейдите на диск С и открыть скрытые папка «данные программы». 3.search mysql и удалите его. 4.uninstall mysql 5.1. 5. переустановите его с помощью мастера. он запросит ур новый пароль .. :) нравится