怎么让远程访问mysql_如何设置mysql远程访问

Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问。

在MySQL Server端:执行mysql 命令进入mysql 命令模式, Sql代码

mysql> use mysql; mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; #这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server #必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆

mysql> use mysql; mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; #这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server #必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆

那么如何远程访问呢? 在另一台MySQL 客户端(装有mysql程序包的pc ,windows或者是linux均可) 执行命令:

Sql代码 mysql -h172.21.5.29 -uadmin -padmin 即可了 //172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户 mysql -h172.21.5.29 -uadmin -padmin 即可了 //172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户

ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server

猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。特贴出来。。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。

mysql -u root -p

mysql>use mysql;

mysql>select 'host' from user where user='root';

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

这里会报一个错误:

ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

可以不予理会

mysql> select host, user from user;

c857ab8c775cfbea954d5b0bec51e9b1.png

mysql>flush privileges;

mysql>select 'host' from user where user='root';

第一句:以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

第五句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第六句:刷新MySQL的系统权限相关表

第七句:再重新查看user表时,有修改。。

记得Mysql服务需要重新启动(确保修改有效),否则可能修改的结果无法体现。

参考地址:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值