MySQL 远程连接配置的正确实现

本文介绍MySQL远程连接配置的方法,包括更改“user”表中的“host”项和使用GRANT命令来授权,确保从远程主机可以访问MySQL服务器。还介绍了如何通过命令行远程连接MySQL数据库。

http://database.51cto.com/art/201006/204537.htm 

此文章主要向大家描述的是MySQL 远程连接配置的实际操作步骤,以及在其实际操作中值得我们大家注意的相关事项的描述, 以下就是具体方案的描述,希望在你今后的学习中会有所帮助。

MySQL远程配置


 
  1. GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'your paaaword'; 

%表示多有机器。

打开3306端口,为防火墙设置例外,放行3306.

以下是网上选摘

1。改表法

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


 
  1. MySQL -u root -pvmwareMySQL>use MySQL;  
  2. MySQL>update user set host = ‘%’ where user = ‘root’;  
  3. MySQL>select host, user from user; 

2. 授权法

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


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

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


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

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 MySQL>FLUSH PRIVILEGES
使修改生效.就可以了

开启MySQL数据库的远程连接权限:


 
  1. grant all privileges on *.* to 'root' @'%' identified by 'wrx123';  
  2. flush privileges; 

开启MySQL的远程连接把你的HOST字段改成 % ,表示任何地址的都可以用此帐号登录,或你也可以定IP


 
  1. MySQL>GRANT ALL on *.* to 123@192.168.0.% identified by “456″; 

注意:MySQL所在主机防火墙的问题,端口3306.

原文参看http://hi.baidu.com/zham/blog/item/3a6a8018c0d283b34bedbc40.html

 

 

命令行如何远程连接MySQL数据库

新使用MySQL,说起来是个简单的事情,但是却费了些周折:

1、登陆服务器端,进入命令行,windows cmd;

2、设置用户、密码让指定的IP访问:mysql -u root -p 或安装的快捷方式进入:MySQL Command Line Client,使用grant命令:

grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';

例子:

mysql>grant select,insert,update,delete,create,drop on mydb.mytable to lzpddd@192.168.1.88 identified by 'mypassword';
给来自192.168.1.88的用户lzpddd分配可对数据库 mydb的mytable表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为'mypassword';

mysql>grant all privileges on *.* to lzpddd@192.168.1.88 identified by 'mypassword';

给来自192.168.1.88的用户lzpddd分配可对所有数据库的所有表进行所有操作的权限限,并设定口令为'mypassword';

mysql>grant all privileges on *.* to lzpddd@'%' identified by 'mypassword';

给来自任何IP地址的用户lzpddd分配可对所有数据库的所有表进行所有操作的权限限,并设定口令为'mypassword';

3、关闭服务器端防火墙或者开放3306端口(很重要);

 

4、客户端连接:

进入命令行,windows cmd,连接:

mysql -u 用户名 -p密码 -h 服务器IP地址 -P 服务器端MySQL端口号 -D 数据库名

注意:

    (1)服务器端口标志-P一定要大些以区别于用户-p,如果直接连接数据库标志-D也要大写;

    (2)如果要直接输入密码-p后面不能留有空格如-pmypassword;

    (3)命令结束段没有';'分号。

例子:

mysql -u lzpddd -pmypassword -h 192.168.1.88 -P 3306 -D mydb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值