问题
当我们并非使用本地连接的时候,一般会出现问题。
因为 mysql 是根据用户名+ip 地址来唯一标识一个用户的。
默认的一些 mysql user 后面的 host 也就是 ip 地址都是 localhost,表示只能够通过本地连接。
但是我们一般都是用自己的电脑进行操纵数据库的,所以需要让其他的非本机 ip 也能够连接的到。

问题显示不允许连接,一般就是这个问题。
解决方法
就是创建一个新的用户,让它能够被其他的 ip 连接,然后赋予其权限。
先进入本地进入 mysql。
创建用户
create user '用户名'@'ip' identified by '密码';
# 可以设置一个网段通过的,比如'192.168.1.%',用%表示0-255,'%'表示所有的ip都可以连接赋予权限
grant all privileges on *.* to '用户名'@'ip' with grant option;其中 grant 是赋予权限的指令,all privileges 是具体的什么权限,我这里赋予了所有权限,实际开发可以只赋予部分权限。
on *.*,这里面 on 表示的就是在什么表中,两个通配符,第一个是所有的数据库,第二个是所有的表。组合在一起就是所有数据库的所有表。
to 是给谁权限。
with grant option 是赋予权限的这个用户还能不能把自己的权限给别人了,一般别加上。
重新加载授权表
flush privileges;虽然有时候不需要输入这个指令也可以,但是为了确保权限设置始终生效,避免潜在问题,强烈建议在执行修改用户权限的命令后,输入该指令。