另外MySql官方出了一个在csharp里面连接MySql的Connector,可以试试 http://dev.mysql.com/downloads/#connector-net

<add name="mysql" connectionString="server=125.46.37.170;uid=root;pwd=;"/>

报错:Unable to connect to any of the specified MySQL hosts.

今天做项目时候就遇到这问题 中文提示“找不到相应的主机。”

这时候请检查数据库服务器上 MySql.Data.dll 文件版本和项目 bin 目录下的版本是否一致。

如果远程主机版本是 6.0.3 而项目引用的是 5.0.3 则会出现以上的错误提示

但是如果本机主机上版本是 6.0.3 即使项目引用的是 5.0.3 也能正常连接数据库,不清楚是什么原因

c# asp.net MySql.Data.DLL6.2下载,.net连接mysql数据库的第三方插件

关键字: c# mysql.data.dll 6.2 下载 .net 连接 mysql 数据库 第三方 插件 data dll

解压后只需要把mysql.data.dll引入到项目里就可以用了
代码示例:

  1. using  MySql.Data.MySqlClient;
  2. protected   void  btn_login_Click( object  sender, EventArgs e)
  3. {
  4. string  mySqlCon = ConfigurationManager.ConnectionStrings[ "MySqlCon" ].ConnectionString;
  5. MySqlConnection myCon = new  MySqlConnection(mySqlCon);
  6. try
  7. {
  8. myCon.Open();
  9. MySqlCommand selSql = new  MySqlCommand( "Select * From tt.table Where uname=@uname" , myCon);
  10. selSql.Parameters.Add("@uname" , MySqlDbType.VarChar, 32).Value =  this .txt_name.Text.Trim();
  11. MySqlDataReader mydr = selSql.ExecuteReader();
  12. while  (mydr.Read())
  13. {
  14. if  (mydr.HasRows)
  15. {
  16. Response.Write("<script type='text/javascript'>alert('"  + mydr.GetString(0) +  "') </script>" );
  17. }
  18. }
  19. myCon.Close();
  20. mydr.Close();
  21. }
  22. catch  (Exception ex)
  23. {
  24. Response.Write("<mce:script type='text/javascript'>alert("  + ex.ToString() +  ")</mce:script>" );
  25. }
  26. }
  27. //<connectionStrings>
  28. //  <add name="MySqlCon" connectionString="Database=dbname;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306" />
  29. //</connectionStrings>
  1. using MySql.Data.MySqlClient;
  2. protected void btn_login_Click(object sender, EventArgs e)
  3. {
  4. string mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
  5. MySqlConnection myCon = new MySqlConnection(mySqlCon);
  6. try
  7. {
  8. myCon.Open();
  9. MySqlCommand selSql = new MySqlCommand("Select * From tt.table Where uname=@uname", myCon);
  10. selSql.Parameters.Add("@uname", MySqlDbType.VarChar, 32).Value = this.txt_name.Text.Trim();
  11. MySqlDataReader mydr = selSql.ExecuteReader();
  12. while (mydr.Read())
  13. {
  14. if (mydr.HasRows)
  15. {
  16. Response.Write("<script type='text/javascript'>alert('" + mydr.GetString(0) + "') </script>");
  17. }
  18. }
  19. myCon.Close();
  20. mydr.Close();
  21. }
  22. catch (Exception ex)
  23. {
  24. Response.Write("<mce:script type='text/javascript'>alert(" + ex.ToString() + ")</mce:script>");
  25. }
  26. }
  27. //<connectionStrings>
  28. //  <add name="MySqlCon" connectionString="Database=dbname;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306" />
  29. //</connectionStrings>
using MySql.Data.MySqlClient;

protected void btn_login_Click(object sender, EventArgs e)
{
string mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString; MySqlConnection myCon = new MySqlConnection(mySqlCon); try
{
myCon.Open(); MySqlCommand selSql = new MySqlCommand("Select * From tt.table Where uname=@uname", myCon); selSql.Parameters.Add("@uname", MySqlDbType.VarChar, 32).Value = this.txt_name.Text.Trim(); MySqlDataReader mydr = selSql.ExecuteReader(); while (mydr.Read())
{
if (mydr.HasRows)
{
Response.Write("<script type='text/javascript'>alert('" + mydr.GetString(0) + "') </script>");
}
}
myCon.Close();
mydr.Close();
}
catch (Exception ex)
{
Response.Write("<mce:script type='text/javascript'>alert(" + ex.ToString() + ")</mce:script>");
}
} //<connectionStrings>
// <add name="MySqlCon" connectionString="Database=dbname;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306" />
//</connectionStrings>

黑色头发:http://heisetoufa.javaeye.com/

好像需要在远程主机/数据库主机上安装 Connector/Net

出错:

1.Host '*.*.*.*' is not allowed to connect to this MySQL server

解决办法:

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

c:/mysql/mysql server 5.1>mysql -u root -p

输入相应密码

mysql>use mysql;

mysql>show tables; (确认一下表user是否存在)

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

mysql>quit

退出mysql

c:/mysql/mysql server 5.1>net stop mysql

c:/mysql/mysql server 5.1>net start mysql

现在远程连接这部mysql服务器就行了

c:/mysql/mysql server 5.1>mysql -h 192.168.1.3 -u root -p

2. 授权法 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 如果你想允许用户myuser从ip为192.168.*.*的主机连接到mysql服务器,并使用mypassword作为密码 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

2.由于目标机器积极拒绝,无法连接。 *.*.*.*:3306

如果MySQL禁止远程访问,则连接此MySQL时会报类似如下的错误 Can't connect to Mysql server on "IP" (10060)错误

那怎样可以让MySQL能被远程访问呢?只需要以下两步操作即可 1.在mysql中授权让其它服务器远程访问,%表示允许所有的服务器访问,也可以改为指定服务器的ip

a.可以直接用update操作,将user表中的某记录记录中的host改为%或指定的ip即可 b.或者用grant来进行授权,如grant select,insert,update,delete on *.* to root@”%” Identified by “develop”; 然后执行flush privileges;让刚才的修改生效。 mysql> select host,user,password from user; +-----------+------+-------------------------------------------+ | host      | user | password                                  | +-----------+------+-------------------------------------------+ | localhost | root | *8D20E4B2CA17D3AAEC1680514E4694C9A19005E5 | | %         | root | *8D20E4B2CA17D3AAEC1680514E4694C9A19005E5 | | 127.0.0.1 | root | *8D20E4B2CA17D3AAEC1680514E4694C9A19005E5 | | localhost |      |                                           | | %         |      |                                           | +-----------+------+-------------------------------------------+ 5 rows in set (0.01 sec)

2.同时要在防火墙里面要开放mysql的端口,也就是在防火墙里面开放3306端口 service iptables stop vi /etc/sysconfig/iptables,加入一行代码 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT [root@CentOS_Test_Server ~]# /etc/init.d/iptables save 将当前规则保存到 /etc/sysconfig/iptables:                 [确定] [root@CentOS_Test_Server ~]# service iptables start 清除防火墙规则:                                           [确定] 把 chains 设置为 ACCEPT 策略:filter                       [确定] 正在卸载 Iiptables 模块:                                  [确定] 应用 iptables 防火墙规则:                                 [确定] 载入额外 iptables 模块:ip_conntrack_netbios_ns ip_conntrac[确定]

在了上述的两步操作以后,以其它的电脑上就可以远程连接上述的MySQL了,如果还是报错,可以试着把MySQL重启试试看。

连接服务器192.168.1.111上面的MySQL了,下面的操作在另一台服务器192.168.1.100上面执行 E:/www/mysql/bin>mysql -h 192.168.1.111 -u root -p Enter password: ******* ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.111' (10060)

E:/www/mysql/bin>mysql -h 192.168.1.111 -u root -p Enter password: ******* Welcome to the MySQL monitor.  Commands end with ; or /g. Your MySQL connection id is 2 to server version: 5.1.33-log

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql> use mysql; Database changed mysql> select host,user,password from user; +-----------+------+-------------------------------------------+ | host      | user | password                                  | +-----------+------+-------------------------------------------+ | localhost | root | *8D20E4B2CA17D3AAEC1680514E4694C9A19005E5 | | %         | root | *8D20E4B2CA17D3AAEC1680514E4694C9A19005E5 | | 127.0.0.1 | root | *8D20E4B2CA17D3AAEC1680514E4694C9A19005E5 | | localhost |      |                                           | | %         |      |                                           | +-----------+------+-------------------------------------------+ 5 rows in set (0.00 sec)

我的相关日志:

2008-08-22 | Mysql master/slave配置过程 2009-08-04 | iptables防火墙规则设置

我正在玩搜狐微博,快来“关注”我,了解我的最新动态吧。 http://iamcaihuafeng.t.sohu.com/

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

在服务器上操作错误:

admin 发表于 2007-11-13 19:30

Error: Can't connect to MySQL server on 'localhost' (10061)告诉你是怎么回事?

[free] Discuz! info: Can not connect to MySQL server
Time: 2007-11-13 6:25pm Script: /bbs/index.php
Error: Can't connect to MySQL server on 'localhost' (10061) Errno.: 2003
Similar error report has beed dispatched to administrator before.[/free] [color=red][b]以上错误分几种情况说一下(首先您要确保您的服务器硬件及服务器环境是正常的,装新论坛先试一下):
一. 虚拟主机出现以上错误,有可能是因限制或服务器不稳定而引起,请联系空间服务商咨询,或是更换更好的空间. [/b][/color]       [color=red][b]二. 先重启MYSQL服务,然后再观察,导致这个问题的原因有很多的.[/b][/color]       [color=red][b]三. 如果您是独立服务器,或是合租的服务器,正常情况下,不会是限制而引起,有几种情况如下:[/b][/color] 1. 有可能是攻击,攻击会导致服务器内存被占完,然后MYSQL数据库没内存用了,MYSQL就挂了,就会出现以上错误. 2. 有可能是程序出错,或是某个数据表出错,直接把整台服务器的MYSQL拉死了,然后出现上面错误.
[free]如果您认为是网站论坛访问量过大,数据库连接超过最大连接数.MYSQL数据库服务停止了.您可以按照下面方法检查一下,但这个方法是针对能控制服务器的.[color=blue]([b]但独立服务器或合租服务器几乎不可能是这个原因[/b])[/color]        [color=blue]解决方法(针对WIN系统)(如果是虚拟空间,只有联系空间服务商):[/color] 1, 首先到系统服务里面找到MYSQL服务并启动MYSQL服务. 2, 到MYSQL安装目录找到MY.INI文件(linux下为 my.cnf),打开MY.INI查找max_connections,修改连接数为1000,查找wait_timeout,修改为wait_timeout = 5,最后重启IIS与MYSQL服务. 3, 如果这个方法做过了,还是出错,那就是上面两种可能了.[/free]
[b]注意:如果是真正的超过了MYSQL连接数限制,出错的提示信息会很清楚的告诉您是超限了,并会显示限制为多少.真正的MYSQL连接数超限错误提示信息不是上面这个错误提示,我们做过实验的.[/b]

穷苦de网民 发表于 2008-4-26 00:07

注意.这个问题不一定是限制的问题.如果程序有问题,或是攻击,都有可以现这个情况.我们做过试验,一台服务器有20个论坛,大大小小论坛都有,日IP3000以上的论坛也有,正常情况下,这台服务器的整个MYSQL连接不会超过500,这是天天观察得出的结论.
一台WIN服务器的MYSQL数据库连接数一般可调到1000.也就是说正常情况下,MYSQL连接数是完全够用的,如果是独立服务器或是合租的服务器MYSQL数据库连接数一般不会超过限制.所以望大家多多检查是程序问题还是受到攻击.(但虚拟空间被真正的限制太小就是限制问题了,但真正的限制后出错提示信息上面已说过了)
如果程序有问题,或是被攻击,一台服务器的整个MYSQL连接数1000也不够用的,也会报错.
要注意的是,MYSQL数据库连接数与IIS连接数是完全不一样的.    [color=Red][b]如果是偶尔出现了此情况,有这样几个原因:[/b][/color] 1,论坛数据库很大,有人在论坛后台操作优化数据库,此时偶尔会出现此问题,数据库很大了,建议不要去操作优化数据库,数据库有500M了就不要操作优化了,数据库大了操作优化时太占资源会把MYSQL弄挂,最终导致整台服务器上所有论坛报错打不开; 2,论坛安装了首页四格/多格插件,论坛访问量突然大了,就会出现此问题,访问量大的论坛不要安装四格/多格或占资源的插件,同样的,只要一个论坛把MYSQL弄挂了,最终导致整台服务器上所有论坛报错打不开; 3,受到了攻击。

穷苦de网民 发表于 2008-4-26 00:11

如是独立服务器或是合租服务器,首先进服务器检查MYSQL服务是否为启动状态,可以马上重启MYSQL服务解决此问题,但重启之后不一会又出现此问题,如果以前一直正常,就是最近才这样子,那就要看看是否有攻击或是程序有问题了.还要观察MYSQL占用内存的大小,如果观察到出此问题时MYSQL占用内存完全与以前正常的时候不一样了,那就要注意是否有攻击,或是程序问题,前题是要您的内存是足够用的.
还有一个情况就是您的数据库很大,比如有1G左右大了,像这么大的数据库在优化数据库时有时会出现假死现象.要注意优化是一定要在访问量少的时间.

iamxyh 发表于 2008-5-7 20:14

我的Mysql最近经常出现这个问题,刷新一下就好了。30分钟在线人数在1500人左右。会是什么问题呢

admin 发表于 2008-5-7 20:18

需要观察.您用附件两个软件观察一下.        [b]正常情况下:[/b] 单个的IP连接数不超过50 每秒收到的SYN包不超过300 每秒收到的ACK包不超过300 [b][u]这个需要具体问题具体分析.[/u][/b] [b][u]如果是攻击,解决很困难[/u][/b] [b][u]1. 找当地相关部门报警,协助警方查找攻击源[/u][/b] [b][u]2. 如果有条件可以安装防火墙,或是安装更高端设备[/u][/b] [b][u]3. 查看服务器日志,查看防火墙日志,协助机房在高端设置上查找攻击源[/u][/b] [b][u]4. 如果是小攻击可以封IP试试,或是换IP试试,若是有目录的攻击就不好办了,就必须报警处理[/u][/b] [b][u]4. 如果还有更好的方法也可以......[/u][/b]           如果发现单个的IP连接很多,比如超过了100,这IP有可能有问题,可以到[url=http://www.ip138.com]www.ip138.com[/url]查一下IP的来源,如果IP是国外的,就可能是用代理IP攻击,也有的可能不是攻击,是搜索引擎蜘蛛,这个需要具体问题具体分析.
[b]相关话题:[/b] [url=http://help.isp.sh/5320-1-1.html]http://help.isp.sh/5320-1-1.html[/url]

bojjn 发表于 2008-8-27 00:34

呵呵………… 谢谢分享……………………

qqqlll 发表于 2008-10-16 16:18

学习了...

qqqlll 发表于 2008-10-16 16:18

好东西...收藏了

穷苦de网民 发表于 2008-10-28 02:58

[color=Red][b]还有一个情况参考这里:[/b][/color][url=http://help.isp.sh/14744-1-1.html]http://help.isp.sh/14744-1-1.html[/url]

kukusail 发表于 2009-3-7 16:12

很好 谢谢了![`B;6] [`B;6]


MySQL默认是没有开启远程控制的,必须添加远程访问的用户,如果是安装版的话,从MySQL提供的控制台进入。

用root用户登陆,然后:

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

flush privileges; * 刷新刚才的内容*

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。

同时也可以为现有的用户设置是否具有远程访问权限。如下:

use mysql;

update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)

FLUSH PRIVILEGES;

查看结果,执行:

use mysql;

select host,user,password from user;

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

| Host | User | Password |

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

| localhost | | | U 8RZq

| % | John | 123456 |

| localhost | root |

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

然后执行命令 mysql -u user -P 端口   回车   (注意P一定要大写)

.net连mysql数据库汇总的更多相关文章

  1. MySQL数据库汇总

    -- mysql的最大连接数:默认为 100   -- mysql的增删改查   -- mysql统计各个字段(case when 用法 注:也可以使用其他的)   select (case when ...

  2. MySQL数据库— 汇总和分组数据

    一 汇总和分组数据 查询语句 ---> 结果集(多条数据) ---> 聚合函数  ----> 单行记录 1.常用的聚合函数: sum()         数字             ...

  3. Shell脚本使用汇总整理——mysql数据库5.7.8以前备份脚本

    Shell脚本使用汇总整理——mysql数据库5.7.8以前备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/92234 ...

  4. Shell脚本使用汇总整理——mysql数据库5.7.8以后备份脚本

    Shell脚本使用汇总整理——mysql数据库5.7.8以后备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/92234 ...

  5. Linux上通过MySQL命令访问MySQL数据库时常见问题汇总

    Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...

  6. MySQL 数据库备份种类以及常用备份工具汇总

    1,数据库备份种类 按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表.系统表.索引.视图和存储过程等所有 ...

  7. mysql自身报错、java、reids连接mysql数据库报错汇总

    1.Can't connect to local MySQL server through socket 'tmpmysql.sock' (2) 原因是mysql根本没有启动 2.Access den ...

  8. MySQL笔记汇总

    [目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...

  9. MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. 三、vue脚手架工具vue-cli的使用

    1.vue-cli构建 vue-cli工具构建:https://blog.csdn.net/u013182762/article/details/53021374 npm的镜像替换成淘宝 2.项目运行 ...

  2. js和css实现内容超过边框,就自动省略,自动添加title

    在项目汇总,我们有这样的需求,如果内容多了,就自动省略,自动添加title 这个需要判断判断俩个值,一个是width(),一个是scrollWidth, 在div中,如果内容没有超过边框,这俩个值是一 ...

  3. Java多态概述

    多态 所谓多态,实际上就是一个对象的多种状态: 下面例子中,Tiger可以看做Tiger,也可以看做Animal Cat  可以看做Cat,也可以看做Animal Dog 可以看做Dog,也可以看做A ...

  4. 5 个 Laravel Eloquent 小技巧

    1. 快速生成 Model & Migration 这并不是一个很多人知道的小技巧,为文章生成 Model 和 Migration. $ php artisan make:migration ...

  5. HDOJ题目分类

    模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 104 ...

  6. hdu 6118度度熊的交易计划(费用流)

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  7. java基础学习总结——GUI编程(二)

    一.事件监听

  8. 1.网站应用程序 - 《APS.NET本质论》

    1.1.HTTP协议 浏览器与WEB服务器的协议是应用层协议,当前遵循HTTP/1.1,HTTP协议是无状态的协议 客户机与服务器通过请求和响应完成一次会话(Session),每次会话中,双方发送的数 ...

  9. django中注册功能signup的测试例

    这个是套路, 有了这些测试用例, 开发就会更有保障, 且每次重写,都好麻烦, 不好cp来得快~~:) from django.test import TestCase from django.urls ...

  10. mysql多表查询,group by并将结果导出来csv文件

    SQL手动操作得少,遇到一个CASE,就记录一个CASE吧. 今天遇到的是统计一个发布结果. 这个发布表中,有两个字段是外键,并且要求按其中一个外键,作group by操作, 最后,导出来excel能 ...