Как отключить вход в MySQL root, если пароль не указан?

MySQL установлен на моем ноутбуке, и он работает нормально, за исключением того, что мне разрешено входить в систему без предоставления пароля root. Я также могу войти в систему, указав пароль root. Если предоставленный пароль не совпадает, доступ запрещается. Пароль root был изменен на то, что я выбрал, когда я изначально установил MySQL. Я только что заметил сегодня вход без пароля.

Итак, мне нужно остановить доступ к учетной записи root, когда пароль не указан. До сих пор я пытался сбросить пароль root с помощью:

 mysqladmin -u root password TopSecretPassword 

Затем я вошел в консоль и выдал:

 mysql> flush привилегии;  exit; 

Я все еще могу войти в MySQL с помощью:

%> mysql -u {enter} 

Как мне остановить такое поведение?

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

%> mysql -u {enter}

mysql> ВЫБРАТЬ ПОЛЬЗОВАТЕЛЯ (), CURRENT_USER ();
 > корень @ localhost, корень @ localhost

mysql> ВЫБРАТЬ СЧЕТЧИК (*) ОТ mysql.users ГДЕ user = 'root' И пароль = '';
 > COUNT (*)
 > 0

mysql> ВЫБРАТЬ СЧЕТЧИК (*) ОТ mysql.users ГДЕ user = '';
 > COUNT (*)
 > 0

mysql> ВЫБРАТЬ СЧЕТЧИК (*) ОТ mysql.users ГДЕ user = 'root';
 > COUNT (*)
 > 1

 %> vi /etc/my.cnf
 / скип-грант-таблицы
 > E486: Шаблон не найден: skip-grant-tables

 
12
задан Whitewall 2 May 2012 в 22:43
поделиться