Posted on 2006-12-19 13:21
原色 阅读(626)
评论(1) 编辑 收藏 引用
File: c++ mysql编程出现的问题
Q:查汉字出错是什么原因?
A: 可以采取以下几种方法。
(1).在安装mysql时选支持中文(_gb2312)。
(2)在程序里可用支持中文的操作。如字段username.可以写成
username like _gb2312 'basecolor' collate gb2312_chinese_ci
或加条"set names 'gbk'"
(3)。改脚本mysql.ini里latin改成gb2312
Q:MYSQL出现access denied for user 'odbc'@'localhost' (using password:YES)
我用命令提示符进去,去连接MYSQL数据库,用了MYSQL -P密码;就是会出现这个提示,请问怎么解决
A:windows下dos默认的用户是odbc,但是在mysql里并没有odbc这个用户,所以出错,你改成mysql -uroot -p 这样就可以了,这里使用了root用户,当然你也可以使用其它的用户,但是前提是它有本地登录的权限。
Q:
重装系统之后mysql就不能用了,后来重装mysql结果还是不能用,是什么原因?
A:
重装mysql需把以前旧的目录手工删除。
Q:
mysql_real_connect(&mysql,"127.0.0.1",user,psw,DB,MYSQL_PORT,NULL,0)))时连接正常。
当改成如下
mysql_real_connect(&mysql,"192.168.0.1",user,psw,DB,MYSQL_PORT,NULL,0)))
出错。出错信息为:#HY000Host 'null' is not allowed to connect to this Mysql server
int error=mysql_errno(&mysql);error=1130;
A:
先授权允许mysql从任何主机上连接,看看行不行?
mysql>grant all on *.* to 'root'@'%' identified by 'password';
mysql>flush privileges;
如果还是不行,你就把所有的匿名用户都删除
mysql>use mysql;
mysql>delete from user where user='';
mysql>flush privileges;
------
有用户名的时候:
首先你要确定你的mysql有没有'prince886'这个用户,它允不允许远程登录?
解决方法:mysql>grant all on *.* to 'prince886'@'%' identified by 'password';
mysql>flush privileges;
另外,上面赋于的权限很大,可能会引起安全问题,它的意思是允许prince886这个用户从任何地方登录,可以浏览,修改任何数据库
Q:
怎样实现三个表的查找?
A:
select t.id1,ifnull(t1.name1,''),t.id2,ifnull(t2.name2,'') from t LEFT join t1 on t.id1=t1.id1 left join t2 ON t.id2=t2.id2;
Q:
不停的向数据读写操作的时候,会出现内存不足?
A:
程序操作的时候没有释放查询的结果集,导致内存不足。须释放每次查询的结果集。
Q:
查表出现"mysql server has gone away"是什么?
A:
如果代码没问题,那么最大的可能就是数据库的wait_timeout的原因,mysql的默认等待时间是8小时,如果8个小时之后数据库还是空闲的,则会关掉。所以当你再次读写数据库的时候就会出现上面的提示。