mysql 网络远程登录,如何让MySQL可以远程登录

让MySQL可以远程登录:

1、确定服务器上的防火墙没有阻止 3306 端口。

MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。

如果要修改端口,到MySQL目录下的my.ini文件中修改,3306为默认端口,改完重启MySQL生效。

注:如果修改了MySQL默认端口,php或其它程序中连接字符串要做相应修改如端口号改成了3307那么连接串要这样:

mysql_connect('localhost:3307','mysql_user','mysql_password');

2、增加允许远程连接 MySQL 用户并授权。

1)首先以 root 帐户登陆 MySQL

在 Windows 中进入cmd,进入MySQL 的 bin 目录下,然后输入下面的命令:

在 Linux 在命令提示行下直接输入下面的命令(u,p前面有一横线):

mysql-uroot-p123456

> MySQL -uroot -p123456

123456 为 root 用户的密码。

2)创建远程登陆用户并授权

grant all PRIVILEGES on db1.*to nic@'123.123.123.123'identified by'123456';

> grant all PRIVILEGES on discuz.* to [email protected]'123.123.123.123' identified by '123456';

上面的语句表示将 db1数据库的所有权限授权给 nic这个用户,允许 nic用户在123.123.123.123 这个 IP 进行远程登陆,并设置 nic用户的密码为 123456。

下面逐一分析所有的参数:

all PRIVILEGES表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

db1.* 表示上面的权限是针对于哪个表的,db1指的是数据库,后面的 * 表示通配符对于所有的表。即对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

nic表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

123.123.123.123表示允许远程连接的 IP 地址,如果不限制 IP 则设置为%即可。

123456为用户的密码。

最后执行下面的语句生效:

flush privileges;

----------------------------------------------------------------------------------------------------------------------------

分享本文到:

更多

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

已有0位网友发表了看法

用户名:

内  容:

验证码:

checkcode.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值