mysql数据库可以远程连接或者说用IP地址可以访问

mysql数据库可以远程连接或者说用IP地址可以访问

 

  一般情况不建议直接修改root的权限, 

  先看下,自己mysql数据库的用户级权限

   mysql -u root -p----->用root登陆

     use mysql------->切换到mysql数据库(这个mysql是数据库的名字,---->安装的时候系统自带的吧)

  

  可以看到我的是这样的,至于为什么有2个root我还不太清楚,我记得mysql安装的时候有个选项是---(是否可以远程访问)可能第一个root是这个作用吧,而我们常用的是第2个root。wls是我新建的用户,这个用户是可以用IP地址登陆的。

 

  具体创建过程:

 

    方法一:   

  1、我们现在增加一个'wls'用户,密码为'ybsoft',让其能够从外部访问MYSQL。输入
  grant all on * to 'wls' identified by 'ybsoft';

  2、现在看看用户表内容。输入select user,host from user ; 可以看到"wls"用户已经加进去了,并且其权限为'% '。

  3、我们现在可以用wls用户在局域网或互联网中以IP方式访问了。

    mysql -h 192.168.0.115 -u wls-p

  4、FLUSH   PRIVILEGES  //修改生效

  5、bind-address= 127.0.0.1注释掉即可------>在my.ini中找到bind-address=0.0.0.0就是所有IP地址都能访问,也可以不要这个属性,具体情况自己试试就知道了。

    方法二:

改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -p

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

    

  

 

 

原文地址:https://www.cnblogs.com/wangliansong/p/3869619.html