Mac+MySQL+Xcode数据库配置

来源:互联网 发布:java测试工程师简历 编辑:程序博客网 时间:2024/05/22 12:35

【转】自:http://blog.csdn.net/abcjennifer/article/details/16983929

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 terminal


[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. alias mysql=/usr/local/mysql/bin/mysql  
  2. alias mysqladmin=/usr/local/mysql/bin/mysqladmin  
  3. 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/5.6/en/connector-cpp-installation-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  cd4.1mysql-connector-c++/下,执行

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 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/5.6/en/connector-cpp-installation-source-unix.html)写的一样了依次执行:

shell> make clean

shell> make

第三步 官网的 shell> make install又来了问题:

[100%]之后是如下错误:


[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. -- Install configuration: ""  
  2. -- Installing: /usr/local/./README  
  3. CMake Error at cmake_install.cmake:31 (FILE):  
  4.   file INSTALL cannot copy file  
  5.   "/Users/mba/Downloads/mysql-connector-c++-1.1.3/README" to  
  6.   "/usr/local/./README".  

这里注意要加superuser权限:

shell> sudo make install


         执行成功后,头文件mysql_connection.hmysql_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

按照官网的测试,编译下面这句

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 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下的,而windowsmax进行动态链接都不需要-Wl, -Bdynamic,加上会识别不出来,所以把这两个删掉,最后应该用这句:(其中boost目录自己改)

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 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

加下面这句:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib  


run下面两句分别输出动态链接库路径和执行


[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib  
  2. ./test_install localhost root password database (遵照本机上的修改)  


结果正确为:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. Connector/C++ standalone program example...  
  2.   
  3. ... running 'SELECT 'Welcome to Connector/C++' AS _message'  
  4. ... MySQL replies: Welcome to Connector/C++  
  5. ... say it again, MySQL  
  6. ....MySQL replies: Welcome to Connector/C++  
  7.   
  8. ... find more at http://www.mysql.com  



2. 我的测试2XCode+Mac+MySQL版)

1. 新建Command Line Tool工程mysqlTest

2. 给出测试代码in main.cpp:

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. #include <stdio.h>  
  2. #include <mysql.h>  
  3.   
  4.   
  5.   
  6. int main (int argc, const char * argv[])  
  7. {  
  8.     MYSQL *connection, mysql;  
  9.     mysql_init(&mysql);  
  10.     connection = mysql_real_connect(&mysql,"127.0.0.1","root","psw","database",0,0,0);  
  11.     if (connection == NULL)  
  12.     {  
  13.         //unable to connect  
  14.         printf("Oh Noes!\n");  
  15.     }  
  16.     else  
  17.     {  
  18.         printf("Connected.\n");  
  19.     }  
  20.     return 0;  
  21. }  


3.项目配置

3.1 Header Search Paths

  /usr/local/include

  /usr/local/mysql/include


3.2 Library Search Paths

  /usr/local/lib

  /usr/local/mysql/lib


3.1 Other Linker Flags

  -lmysqlcppconn -lm -lmysqlclient -lz




4. Build Phases加入lib(在我的电脑本上,添加libmysqlclient.18.dylib的过程中因为Library是隐藏的,所以添加不了。解决方法是在终端运行上面的命令sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib ,即添加软连接。然后就好使了)


5. 运行




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


0 0
原创粉丝点击