mysql远程连接配置

  1. 将my.cnf中与127.0.0.1的绑定 删除或是注释
  2. 将mysql数据库中user表

     GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
    

这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server 在没有第一步的情况下必须加类似这样的帐户,才可以远程登陆。root帐户是无法远程登陆的,只可以本地登陆

重启MySQL服务或者执行:mysql> flush privileges;

测试:mysql -h172.21.5.29 -uadmin -padmin

有人遇到问题:

mysql> use mysql;
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
Sql代码
mysql -hlocalhost -uadmin -padmin
mysql -hlocalhost -uadmin -padmin 结果是失败的。 原来 上面的 % 竟然不包括localhost