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;