今天在linux虚拟机上安装了一天mysql服务器(192.168.235.128),想通过本地((192.168.235.1)的navicat去连接上服务器查看数据,却发现提示:不允许192.168.235.1连接服务器。可以ping通但是不能telnet通,初步判断是有墙,但是3306端口添加到防火墙后,仍然不允许连接,查询资料后发现,原来mysql服务器默认只能允许本地的客户端连接,如果别的主机要连接需要先执行以下sql赋权才行。
create user 'test_user'@'%' identified by '123456';
grant all on *.* to 'test_user'@'%';
flush privileges;
执行以上三句sql可以对任意主机赋权,淡然也可以把%替换为指定IP,对指定主机授权。