linux安装mysql后,登陆linux可以使用,但是可视化工具无法连接报错如下:
数据库工具链接报错
原因:需要进行授权
解决方法:输入以下命令
grant all privileges on *.* to 'root'@'%' with grant option;
报错提示:
ERROR 1133 (42000): Can't find any matching row in the user table
原因:这是因为,在授权进行授权的时候 ,需要读取 mysql.user 表中的记录。如果没有 ‘root’@'%' 这条记录,那么就不能授权。
进入linux系统,进入mysql
输入命令
use mysql
select Host,User from user;
查看后没有% root
+----------------+---------------------------+
| Host | User |
+----------------+---------------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+----------------+---------------------------+
4 rows in set (0.00 sec)
没有 % root,使用命令
create user 'root'@'%' identified by 'root';
继续查看
select Host,User from user;
+----------------+---------------------------+
| Host | User |
+----------------+---------------------------+
| % | root |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+----------------+---------------------------+
5 rows in set (0.00 sec)
发现有了
使用命令使之立即生效
flush privileges;
继续使用授权命令
grant all privileges on *.* to 'root'@'%' with grant option;
使用命令使之立即生效
flush privileges;
再次使用root连接没有问题了