配置Mysql允许远程访问
把Mysql安装在服务器上,然后在本地访问,发现提示Host '***' is not allowed to connect to this MySQL server,
错误提示很明确,就是目标主机上的Mysql服务不允许连接。
1. 打开命令提示符,执行Mysql -uroot -proot命令(如果提示Mysql不是内部或外部命令什么的,需要设置环境变量),输入mysql的用户名root和密码登录进去。
2. 执行use mysql; 切换数据库。
3. 查询user表,看host和user情况,如下:
mysql> select user,host from user; +---------------+-----------+ | user | host | +---------------+-----------+ | root | localhost | | mysql.session | localhost | | mysql.sys | localhost | +---------------+-----------+ 3 rows in set (0.00 sec)
默认情况下所有的用户都是只能本机访问,我们需要把需要远程访问的用户的host字段值改成%
host字段代表你能访问这个数据库的地址,localhost代表的是本地访问,%表示远程访问,于是我们执行以下语句:
update user set host='%' where user='root';
修改好host之后,我们要让它立即生效,还要执行这样一个语句: flush privileges;
操作完成之后,再用root远程访问就可以了。