本文目錄一覽:
- 1、連接mysql資料庫時報錯:Access denied for user ‘root’@’127.0.0.1’ (using password: NO)
- 2、c連接Mysql出現的問題
- 3、在DEV C++下,用C和MYSQL進行連接失敗
- 4、Linux下C連接MySQL資料庫錯
連接mysql資料庫時報錯:Access denied for user ‘root’@’127.0.0.1’ (using password: NO)
連接mysql資料庫時報錯:Access denied for user ‘root’@’127.0.0.1’ (using password: NO)是設置錯誤造成的,解決方法為:
1、打開並編輯vim /etc/my.cnf。
2、在[mysqld]下方加一行代碼Add skip-grant-tables。
3、重啟mysql/etc/init.d/mysql restart。
4、使用命令行連接mysql mysql -u root -p。
5、mysql flush privileges。
6、重啟mysql /etc/init.d/mysql restart。
c連接Mysql出現的問題
//#include “mysql.h”
你把mysql.h頭文件注釋掉了,當然編譯通不過了。
在DEV C++下,用C和MYSQL進行連接失敗
給你個例子:
這個是DEV C++編譯通過的
#include windows.h
#include iostream
#include mysql/mysql.h
#define SELECT_QUERY “select * from stu “
using namespace std;
int main(int argc, char *argv[])
{
//connection params
char *host = “localhost”;
char *user = “root”;
char *pass = “123”;
char *db = “mydb”;
//sock
MYSQL *sock;
MYSQL_RES *res;
sock = mysql_init(0);
if (sock) cout “sock handle ok!” endl;
else{
cout “sock handle failed!” endl;
return EXIT_FAILURE;
}
//connection
if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
cout “connection ok!” endl;
else{
cout “connection failed!” endl;
return EXIT_FAILURE;
}
//query
if (mysql_query (sock, SELECT_QUERY ))
{
cout “Query failed ” mysql_error(sock) endl;
exit(1);
}
if ( !( res = mysql_store_result( sock )))
{
cout “Couldn’t get result from ” mysql_error(sock) endl;
exit(1);
}
MYSQL_FIELD *field;
MYSQL_ROW row;
while ((field = mysql_fetch_field(res)))
{
printf(“field name %s “, field-name);
}
while ( row = mysql_fetch_row ( res ))
{
coutrow[0]” “row[1]endl;
}
system(“PAUSE”);
//closing connection
mysql_free_result ( res );
mysql_close(sock);
return EXIT_SUCCESS;
}
Linux下C連接MySQL資料庫錯
skipping incompatible /usr/lib/mysql/libmysqlclient_r.a 這裡是說這個庫文件與當前系統的編譯器gcc不一致,你需要確認一下是不是機器位數的問題
gcc -m32 -o test test.c `mysql_config –cflags –libs` 這樣試試
原創文章,作者:BTGNC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129921.html