在进行如下操作之前,要确保你的数据库配置开启了远程访问的权限:
* 注释skip-networking选项来开启远程访问.
* 注释bind-address,该项表示运行哪些IP地址的机器连接,允许所有远程的机器连接.
接下来需要给对应的MySQL账户分配权限:
1.在终端输入mysql -uroot -p (password) 登录到mysql界面,
2.use mysql,
select host,user from user
3.查找用户登录的host主机有哪些,如果你想设置针对所有IP访问,使用如下语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
如果只想让某一个IP或者某一个IP段来访问,可以使用如下语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.138' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
注意:这个'my-new-password'是针对你指定的ip定的
4.重点:最后一定要刷新权限:
FLUSH PRIVILEGES;
5.这是你再select host,user from user,就会发现host多了一个,就说明已经设置成功了,这时就可以用navicat去连接了.