Estoy tratando de conectar a una base de datos mysql usando C++.
Use este ejemplo: https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-complete-example-1.html
Al ejecuarlo me da este error:
Running 'SELECT 'Hello World!' AS _message'...
# ERR: SQLException in asd.cpp(main) on line 51
# ERR: Access denied for user 'franco'@'localhost' (MySQL error code: 1698, SQLState: 28000 )
Modifique la linea 54 del programa a con = driver->connect("tcp://127.0.0.1:3306", "franco", "");
Tambien probe usando root y tampoco funciona (mismo error)
Esto es lo que yo uso, por si te sirve de algo:
driver: apt-get install libmysqlclient-dev
ConMysql* ConMysql::singleInstance = NULL;
void ConMysql::conecta()
{
cm = mysql_init(NULL);
...
mysql_options(cm, MYSQL_SET_CHARSET_NAME, "utf8");
mysql_options(cm, MYSQL_INIT_COMMAND, "SET NAMES utf8");
cm = mysql_real_connect(cm, IPSERVIDOR, USUARIODB, PASSWD, NAMEDB, PUERTO,NULL,0);
...
}
En el makefile tengo esto: PHAT_MYSQL = -L/usr/include/mysql -lmysqlclient -I/usr/include/mysql
Librerías:
#include <mysql.h>
#include <my_global.h>
si vas ha usar debian 8:
debajo de las librerías:
#undef min
#undef max