首先查看访问权限表,我这里已经开启了任意IP可远程访问的权限,第一行“root %”。
补充:图中可以看到同名的 root 用户有不同的权限,这些同名的root用户算不同的 user。
开启远程访问有两种方式:
1.任意IP都可访问(初学者建议设置这个)
命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
/*字段解释:*.*:可访问所有数据库,可指定数据库;
'root':登陆用户名;
'%':任意IP可登陆;
password:为个人数据库登陆密码;
WITH GRANT OPTION;可赋予其他用户权限*/
2.指定IP可访问(更安全)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
/*字段解释:*.*:可访问所有数据库,可制定数据库;
'root':登陆用户名;
'IP.%':指定的IP可登陆,其他IP不行;
password:为个人数据库登陆密码;
WITH GRANT OPTION;可赋予其他用户权限*/
删除远程访问权限
直接删除对应的用户即可:
drop user 用户名@'%';
记得每次创建或删除后运行以下命令,用于重新载入权限表:
flush privileges;