昨天MySQL无法远程登录,授权为远程登录后,本地无法登录了
关掉MySQL,
不加载权限方式重新启动
使用无密码方式登录MySQL查看用户表
+------+-----------+
| user | host |
+------+-----------+
[color=red]| root | % |[/color]
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
+------+-----------+
删除 [color=red]| root | % |[/color]这一行的权限,
关闭数据库,正常启动
正常登录
[quote]
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)
[/quote]
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 |
+------+-----------+
[color=red]| root | % |[/color]
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
+------+-----------+
删除 [color=red]| root | % |[/color]这一行的权限,
关闭数据库,正常启动
delete from user where host='%';
exit;
D:\mysql-5.6.10-winx64\bin>mysqladmin -uroot shutdown;
D:\mysql-5.6.10-winx64\bin>mysqld
正常登录
[quote]
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)
[/quote]