Якщо у вас виникла така дивна дилема в таблицях грантів 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" як пароль.
Спробувати !!!
:-(