今天实际操作了MySQL并实验了简单功能。
发现还是蛮麻烦的,遇到了各种问题。
前面试了下rocksdb,感觉在Windows下有点搞不定,不过是开源的推荐一下文章:
https://blog.csdn.net/linuxheik/article/details/88643044
MySQL++ 也看了挺久,感觉在Windows下也很麻烦,就没弄了。
一、安装:
1. MySQL版本:mysql-installer-community-8.0.16.0 (本地安装默认服务,服务器仅仅安装server服务)
2. 连接器:mysql-connector-c++-8.0.16-winx64(只在本地安装)
3. 可视化工具:mysqlgui_21230(只在本地安装)
二、修改配置
-----------------------------使用管理工具:MySQL GUI Tools--------------------------------
(服务器的 防火墙3306端口需要打开)
链接发现到服务器时,发现报错,于是进行配置修改,见文章:
//连接错误1130 :https://blog.csdn.net/mrluzle/article/details/36865159
//链接错误1251:https://blog.csdn.net/qq_36275540/article/details/80491470
PS : 如果你先改了1130错误,需要把 1251错误解决方案中,所有“localhost”全部换成 “%”
-------------------------------------打开VS进行MySQL测试----------------------------------
MySQL原文:https://www.cnblogs.com/magicsoar/p/3817518.html
这个文章似乎有点老,很多地方要自己摸索一下,大概总结如下:
1. 所有ibmysql.dll/mysqlcppconn.dll 都需要放到 Debug文件夹(有debug.EXE文件)那个目录下。
2. 如果运行测试程序有缺失dll文件的情况,优先去你的MySQL/MySQL connector文件夹中去搜这些dll,并且复制到Debug文件夹。(一般两个都有同名文件,我复制的是MySQL connector里的dll文件)
3. 如果运行VS报错 0xc0000007b 无法运行,你就看你VS运行目录下,编译/运行到哪个.dll那挂掉了,你就重复第二步解决问题。
4. 新版本的引发的变化:
A. 引用库等位置和命名的改变
D:\Program Files\MySQL\Connector C++ 1.1.3\lib\opt(根据具体路径而定)此类,已经没有opt文件,转而变成了:
D:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64\vs14
另外,mysqlcppconn.dll变成了mysqlcppconn-7-vs14或者mysqlcppconn8-2-vs14
B. 引用文件的变化
#include "mysql_driver.h"
#include "mysql_connection.h"
#include "cppconn/driver.h"
#include "cppconn/statement.h"
#include "cppconn/prepared_statement.h"
#include "cppconn/metadata.h"
#include "cppconn/exception.h"
这类文件夹全部要变成:
#include "jdbc/mysql_driver.h"
#include "jdbc/mysql_connection.h"
#include "jdbc/cppconn/driver.h"
#include "jdbc/cppconn/statement.h"
#include "jdbc/cppconn/prepared_statement.h"
#include "jdbc/cppconn/metadata.h"
#include "jdbc/cppconn/exception.h"
5. 如果发现自己没有安装上上述的文件夹(如C:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64\vs14)
你可以重新打开Connector安装文件,点击change,勾选上所有文件夹(主要是C++相关的),就会安装出来。
---------------------------------------结尾-------------------------------
最后就可以按喜好选择用c api 还是connector去操纵MySQL了。
另外,getstring老是报错的,请看回答:
https://ask.csdn.net/questions/236975
(使用.c_str()解决)