mysql 本地无法登录

昨天MySQL无法远程登录,授权为远程登录后,本地无法登录了

grant all on *.* to root@'%' identified by "root";

 flush privileges;



Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)


关掉MySQL,
不加载权限方式重新启动
D:\mysql-5.6.10-winx64\bin>mysqld --skip-grant-tables


使用无密码方式登录MySQL查看用户表
D:\mysql-5.6.10-winx64\bin>mysql -u root
use mysql;
select user,host from user;


+------+-----------+
| user | host      |
+------+-----------+
| root | %         |
| root | 127.0.0.1 |
| root | ::1       |
|      | localhost |
| root | localhost |
+------+-----------+


删除 | root | %         |这一行的权限,
关闭数据库,正常启动

delete from user where host='%';
exit;
D:\mysql-5.6.10-winx64\bin>mysqladmin -uroot shutdown;
D:\mysql-5.6.10-winx64\bin>mysqld


正常登录
引用

D:\mysql-5.6.10-winx64\bin>mysql -uroot -proot
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> grant all privilege on *.* to root@'%' identified by "root";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL serv
er version for the right syntax to use near 'privilege on *.* to root@'%' identified by "root"' at line 1
mysql> grant all on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)

猜你喜欢

转载自powertech.iteye.com/blog/2191814