Если у вас возникла эта странная дилемма в таблицах грантов MySQL для Windows, я рекомендую следующее:
Шаг 1. Получите дистрибутив ZIP FIle, в котором нет установщика.
Шаг 2. Распакуйте его содержимое в C:\MySQLZipStuff
Шаг 3. Ищите папку C:\MySQLZipStuff\data\mysql
Шаг 4. Скопируйте все файлы в C:\MySQLZipStuff\data\mysql
папку mysql нужного вам каталога данных.
Шаг 5 net start mysql
Если у вас уже есть папка mysql, вы можете сделать это:
Шаг 1. Отредактируйте my.ini
, добавив эту строку в раздел [mysqld]
[mysqld]
skip-grant-tables
skip-networking
Шаг 2. net stop mysql
Шаг 3. net start mysql
На этом этапе вы можете просто набрать «mysql» и войти. Однако вы не можете запускать команды GRANT с отключенными таблицами грантов.
Шаг 4. Вам нужно будет ввести одного суперпользователя вручную. Как это
а) INSERT INTO mysql.user SET user='root',host='localhost';
б) SELECT * FROM mysql.user WHERE user='root' AND host='localhost'\G
Это покажет все столбцы в пользовательской таблице. Вам придется вручную изменить каждый столбец следующим образом:
ОБНОВЛЕНИЕ mysql.user SET select_priv = 'Y', insert_priv = 'Y', ... WHERE user = 'root' AND host = 'localhost';
c) Установите пароль для root @ localhost следующим образом:
UPDATE mysql.user SET password=PASSWORD('whateverpasswordyouwant')
WHERE user='root' AND host='localhost';
Шаг 5. Удалить skip-grant-tables
и skip-networking
изmy.ini
Шаг 6 net stop mysql
Шаг 7 net start mysql
Теперь вы можете войти в mysql как пользователь root, используя пароль «whatpasswordyouwant».
Попробуйте!
:-(