设为首页 收藏本站
查看: 2498|回复: 1

[经验分享] Mac+MySQL+Xcode数据库配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-11-28 09:30:16 | 显示全部楼层 |阅读模式
Mac下的数据库配置讲解很少,本文列出了我配置过程中的大多数可能错误和注意事项。


--------------------------------------------------------一、 Mac上配置MySQL Connector/C++

1. 打开mysql-5.6.14-osx10.7-x86_64.dmg(http://dev.mysql.com/downloads/mysql/)   1.1. 安装mysql   1.2. 安装MySQLStartupItem.pkg   1.3. 打开MySQL.prePane系统设置
2. 设置用户名密码in terminalalias mysql=/usr/local/mysql/bin/mysql  alias mysqladmin=/usr/local/mysql/bin/mysqladmin  mysqladmin -u root password 123456(root和123456可以自己改)  


3. 安装MySQL数据库管理软件sequel-pro-1.0.2.dmg(http://www.sequelpro.com/download)输入用户名root密码123456(同上命令行就好),host: 127.0.0.1
4. Build mysql connector/c++ from source on Mac官方参考:http://dev.mysql.com/doc/refman/ ... on-source-unix.html
   4.1 下载MySQL Connectors(http://dev.mysql.com/downloads/connector/),这里我用C++,就Connector/C++好啦。但是注意!这里MySQL有个非常非常不人性化的设计,在下载版本的时候(http://dev.mysql.com/downloads/connector/cpp/),它会给你检测出系统(Platform), 但是我们是需要编译的,所以要在Platform选择SourceCode再下载,不然在4.3步会出现The source directory "***/mysql-connector-c++***/include" does not appear to contain CMakeLists.txt.
   4.2 安装cmake(http://www.cmake.org/cmake/resources/software.html)   4.3 安装boost库(http://www.boost.org/         不需要用macports去下boost,直接到boost官网上下好,比如我下的boost_1_55_0, 到目录下运行sh bootstrap.sh安装boost                        4.3 编译MySQL Connector         4.3.1  cd到4.1的mysql-connector-c++/下,执行cmake . -DBOOST_ROOT:STRING=/Users/mba/Downloads/boost_1_55_0/   

其中 /Users/mba/Downloads/boost_1_55_0/ 这块是你下载后解压文件夹所在位置。执行后现在成功了,末尾显示-- Generating done-- Build files have been written to: /Users/mba/Downloads/mysql-connector-c++-1.1.3
         4.3.1  然后就和官网上(http://dev.mysql.com/doc/refman/ ... on-source-unix.html)写的一样了, 依次执行:shell> make cleanshell> make第三步 官网的 shell> make install又来了问题:在[100%]之后是如下错误:-- Install configuration: ""  -- Installing: /usr/local/./README  CMake Error at cmake_install.cmake:31 (FILE):    file INSTALL cannot copy file    "/Users/mba/Downloads/mysql-connector-c++-1.1.3/README" to    "/usr/local/./README".  
这里注意要加superuser权限:shell> sudo make install
         执行成功后,头文件mysql_connection.h和mysql_driver.h就会给拷贝到目录/usr/local/include下; dynamic library libmysqlcppconn.so, 和 static library libmysqlcppconn-static.a.拷贝到了/usr/local/lib下,此外还有两个扩展动态库可以自行检查。





-----------------------------------------------------------二、测试MySQL Connector/C++
1. 官方测试1(命令行版)
运行example, 如examples/standalone_example.cpp按照官网的测试,编译下面这句g++ -o test_install   -I/usr/local/include -I/usr/local/include/cppconn   -Wl,-Bdynamic -lmysqlcppconn standalone_example.cpp  
但是这句在mac上会有问题,要《一增二减》因为就像上面我指定了Boost文件夹地址一样,如果不将Boost文件夹include进来就找不到boost相关头文件。所以include加上boost目录。再有,上面这句话是linux下的,而windows和max进行动态链接都不需要-Wl, -Bdynamic,加上会识别不出来,所以把这两个删掉,最后应该用这句:(其中boost目录自己改)g++ -o test_install   -I/usr/local/include -I/usr/local/include/cppconn -I/Users/mba/Documents/Download_dmgs/boost_1_55_0  -lmysqlcppconn standalone_example.cpp  
但是运行了后面两句之后发现还有问题,找不到动态链接库:dyld: Library not loaded: libmysqlclient.18.dylib查了发现需要加个软链接给lib:加下面这句:sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib  
再run下面两句分别输出动态链接库路径和执行
export LD_LIBRARY_PATH=/usr/local/lib  ./test_install localhost root password database (遵照本机上的修改)  

结果正确为:Connector/C++ standalone program example...    ... running 'SELECT 'Welcome to Connector/C++' AS _message'  ... MySQL replies: Welcome to Connector/C++  ... say it again, MySQL  ....MySQL replies: Welcome to Connector/C++    ... find more at http://www.mysql.com  


2. 我的测试2(XCode+Mac+MySQL版)1. 新建Command Line Tool工程mysqlTest2. 给出测试代码in main.cpp:#include <stdio.h>  #include <mysql.h>        int main (int argc, const char * argv[])  {      MYSQL *connection, mysql;      mysql_init(&mysql);      connection = mysql_real_connect(&mysql,"127.0.0.1","root","psw","database",0,0,0);      if (connection == NULL)      {          //unable to connect          printf("Oh Noes!\n");      }      else      {          printf("Connected.\n");      }      return 0;  }  

3.项目配置3.1 Header Search Paths加  /usr/local/include  /usr/local/mysql/include
3.2 Library Search Paths加  /usr/local/lib  /usr/local/mysql/lib3.1 Other Linker Flags加  -lmysqlcppconn -lm -lmysqlclient -lz
SouthEast.jpg

4. 运行


好了,至此,本文大概列举了我在mac上配置mysql的全过程及错误。希望对大家有所帮助。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-10754-1-1.html 上篇帖子: 让mysql区分大小写 下篇帖子: centos 5.5 下编译安装 mysql 数据库

尚未签到

发表于 2014-1-5 04:58:25 | 显示全部楼层
看着你和她幸福的笑,我已无力再挽回]

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表