您的位置:首页 > 数据库 > MySQL

C#远程访问linux(ubuntu)或windows的mysql数据库

2011-07-24 01:53 369 查看
1、远程访问数据库大概模型



2、mysql在win7、linux上如何设置:

  2.1、分配权限(linux和win7)

  进行mysql命令行,进行分配权限、执行GRANT ALL PRIVILEGES ON *.* TO 'Lucy'@'192.168.1.102' IDENTIFIED BY '123' WITH GRANT OPTION;

复制代码ALL PRIVILEGES分配所有的权限,如Select、Insert、Delete、Update、Drop、Create等等

  *.*是 数据库.数据库中的表

  'Lucy'是远程机子要访问本计算机的所需要的用户名(这个由mysql分配用户给远程机子,当然,还要通过一下步的3306端口)    

  '192.168.1.102'是远程机子的IP地址(这个由mysql指定远程机子哪个IP地址可以让访问)

  '123'是远程机子知道了用户,需要访问的用户密码(这个也是由mysql分配密码给远程机子)

  所以也可以归纳为:GRANT ALL PRIVILEGES ON 数据库.数据库表 TO '远程机用户名'@'远程机IP' IDENTIFIED BY '远程机用户密码' WITH GRANT OPTION;

复制代码2.2、打开3306端口

  2.2.1、为什么要打开3306端口?

  因为防火墙问题,例如:

  IIS配置ASP后,局域网的机子不能访问本机的网页(如果默认端口是80),而关掉防火墙就可以。是因为你的80端口没有打开。

  而mysql的默认端口3306是默认没有打开的。

  2.2.2、为什么我们远程访问SQL的时候,不用打开端口?

  因为SQL的端口是默认打开的,而你远程访问SQL数据库的时候,只要知道它的用户名、密码、端口号1433就行了。

  2.2.3、如何打开mysql的端口

  2.2.4、在win7上,只要在‘入站规则’上建立一个3306端口即可。

  控制面板=>管理工具=>高级安全的Windows防火墙=>入站规则

  然后新建规则=>选择‘端口’=>在‘特定本地端口’上输入一个‘3306’=>选择‘允许连接’=>选择‘域’、‘专用’、‘公用’

  =>给个名称,如:mysqlinput



  2.2.5、在linux的ubuntu上,对mysql的配置文件进行配置均可。

  按F3(打开命令行)=>输入"sudo vi /etc/mysql/my.cnf"(用vim打开)=>

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

bind-address = 127.0.0.1

  注释掉bind-address均可,即#bind-address = 127.0.0.1,表示允许通过远程端口3306访问。

  =>重启mysql,即在命令行输入"sudo /etc/init.d/mysql restart"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: