在linux服务器上安装mysql后,通过navicat远程连接的时候出现如下问题:
原因是没有给MySQL设置远程访问,解决办法如下:
①创建一个用户,如果有直接跳过。
CREATE USER 'username'@'主机ip' IDENTIFIED BY 'password';
②给用户授权
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'%' IDENTIFIED BY '密码';
ALL PRIVILEGES
:设置所有的权限。
数据库名.*
:给当前数据库下的所有表设置权限。如果想给mysql中的所有数据库都设置权限,可以写成*.*
。
%
:代表允许任何ip远程访问。
③重新加载权限
flush privileges;
完成之后即可连接成功!!!!!
附:删除用户,并收回用户的所有权限
①删除用户的所有权限
revoke all on 数据库名.* from 用户名@主机名 ;
删除部分权限
revoke privileges(column) on 数据库名.* from 用户名@主机名 ;
②删除用户
Delete from user where user = "username" and host = "ip" ;
③重新加载权限
flush privileges;