Posted on 2006-12-19 13:21
原色 閱讀(634)
評論(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個小時之后數據庫還是空閑的,則會關掉。所以當你再次讀寫數據庫的時候就會出現上面的提示。