.net连mysql数据库汇总

另外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引入到项目里就可以用了
代码示例:

C#代码

  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 [email protected]" , 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>

[c#] view plaincopyprint?

  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 [email protected]", 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 [email protected]", 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 [email protected]”%” 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 [[email protected]_Test_Server ~]# /etc/init.d/iptables save 将当前规则保存到 /etc/sysconfig/iptables:                 [确定] [[email protected]_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一定要大写)

时间: 2024-08-26 17:31:50

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

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

一 汇总和分组数据 查询语句 ---> 结果集(多条数据) ---> 聚合函数  ----> 单行记录 1.常用的聚合函数: sum()         数字                          对指定列中的所有非空值求总和 avg()          数字                          对指定列中的所有非空值求平均值 min()    数字,字符,datetime        返回指定列中的最小数字,最早的日期或者最小的字符串 max()   数字

MySql数据库并发和事务资料汇总

InnoDB多版本并发控制-MVCC http://my.oschina.net/xinxingegeya/blog/208821 MySql并发控制 http://my.oschina.net/xinxingegeya/blog/215417 MySQL之事务 http://my.oschina.net/xinxingegeya/blog/215419 MySql命令行控制事务 http://my.oschina.net/xinxingegeya/blog/296459 MySQL事务隔离级别

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

1,数据库备份种类 按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表.系统表.索引.视图和存储过程等所有数据库对象.但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份. 1.2事务日志备份 事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间.为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志. 1.3差异备份 也

常用的Mysql数据库操作语句大全

零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PASSWORD('fdddfd'); 3.权限管理 >SHOW GRANTS FOR name;    //查看name用户权限 >GRANT SELECT ON db_name.* TO name; //给name用户db_name数据库的所有权限 >REVOKE SELECT ON db_n

用MyEclipse10.0远程连接Mysql数据库服务器

说明:本文档所有的操作均在满足以下条件的情况下操作, A.远程Linux服务器已经安装好MySQL数据库 B.本地电脑可以ping通远程服务器 C.已经成功安装了Myeclipse 一.下载mysql-connector-java-3.1.14-bin.jar 这个是连接mysql数据库的驱动器. 下载地址: http://dev.mysql.com/downloads/connector/j/5.0.html 也可以到官方网站下载,网址如下:www.mysql.com 二.在Myeclipse

CentOS安装MySQL问题汇总

遇到的错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) denied for user 'root'@'localhost' (using password: NO) 描述:刚安装完MySQL,第一次登陆. [[email protected] ~]$ mysql -u root -p Enter password: #我记得root初始是没密码的,这句直接回车 ERROR

配置mysql数据库的主从同步实验

mysql数据库的主从同步实验 一. 实验环境部署 主服务器(mysql  master) IP: 192.168.8.241  端口3306 从服务器(mysql  slave)  IP: 192.168.8.242  端口3306 虚拟机配置:内存2G,硬盘28G,2块网卡(1块网卡也可以),注意复制虚拟机 时候选择生成不同的MAC地址,虚拟机生成之后,网卡的的名称会变为eth2.eth3,修改/etc/udev/rules.d/70-persistent-net.rules文件,将无效的M

myloader恢复mysql数据库演示样例

? mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具.备份方式为逻辑备份.它支持多线程.备份速度远高于原生态的mysqldump以及众多优异特性.与其相配套的恢复工具则是myloader.主要用于将dump出来的sql以并行的方式进行恢复. 本文主要描写叙述myloader的用法并给出演示样例. 有关mydumper的相关參考        mydumper备份mysql数据库演示样例           mydumper安装及安装故障汇总    1.单库的备份与恢复[[e

MySQL工具汇总

本文汇总了和MySQL运维开发相关的所有工具,并会持续更新 1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集):https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析