[一、开发环境Mac OS X 10.9.2 64位、Xcode5.1、MySQL5.5.37 64位MySQL安装目录为:/usr/local/mysql二、配置xcode连接mysql的编译选项1> 将mysql头文件目录添加到xcode头

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

alias 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

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.

不需要用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

shell> make clean

shell> 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下,此外还有两个扩展动态库可以自行检查。

-----------------------------------------------------------[配置方法如下:        1.拷贝/usr/local/mysql/support-files下的任意一个*.cnf文件到/etc/my.cnf;        2.在my.cnf文件的[client]后面添加一句default-character-s

二、测试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=$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工程mysqlTest

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

#include

#include

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/lib

3.1 Other Linker Flags加

-lmysqlcppconn -lm -lmysqlclient -lz

4. Build Phases加入lib

5. 运行

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

[本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/mysql/749.html          ☞ 点击订阅 ☜

xcode mysql库_Mac+MySQL+Xcode数据库配置相关推荐

  1. asterisk mysql set(cdr(u_asterisk 相关数据库配置 使用

    Linux/Unix下ODBC的安装: 先下载最新的unixODBC源码包(http://www.unixodbc.org/unixODBC-2.2.1.tar.gz)放到/usr/local下,然后 ...

  2. mac mysql版本_mac mysql安装哪个版本

    下载MySQL 1 首先登陆到MySQL的官方网站下载MySQL社区版. MySQL有四个版本:MySQL社区版(免费):MySQL标准版:MySQL企业版:MySQL集群版. 2 在选择平台中,选择 ...

  3. mysql库文件修复_mysql数据库文件修复

    多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少.大多数形式的数据库破坏的的修复相当简单. 和前面的校验一样,修复的方式也有三种. 下面讲的方法只对MyISAM格式的表 ...

  4. xcode常用快捷键_Mac及Xcode常用快捷键

    接触mac这么长时间,觉得mac最人性化.最不易让人察觉的有两个地方,第一就是mac键盘核心按键Command是由左手大拇指进行控制的,我们的大拇指可以轻松方便自然地按住Command按键,进行快捷键 ...

  5. poco mysql 库_Poco Mysql使用

    连接时用到的一些字段, POCO官方文档中也有说明 \Data\MySQL\src\SessionImpl.cpp:69 options["host"]= "localh ...

  6. 苹果电脑装mysql失败_Mac mysql安装失败解决方法

    在mac终端通过命令安装mysql,提示错误,解决方法如下: (1)安装命令:brew install mysql (2)提示错误: Error:Could not create /usr/local ...

  7. bt5 mysql root_MySQL_Linux利用UDF库实现Mysql提权,环境: os:linux(bt5)database - phpStudy...

    Linux利用UDF库实现Mysql提权 环境: os:linux(bt5) database:mysql 简述: 通过自定义库函数来实现执行任意的程序,这里只在linux下测试通过,具体到windo ...

  8. MySQL之自带四库之mysql库

    一.概述 Mysql5.7版本自带4个数据库,information_schema.mysql.performance_schema.sys.其中mysql库是MySQL的核心数据库,类似于sql s ...

  9. mysql进入数据库命令_mysql 数据库基础命令

    数据库命令: 进入 mysql 库; use mysql; 查看用户权限 select * from user where user='root' \G; 创建数据库 create database ...

  10. MySQL 中的mysql库探秘

    简介:以前面试的时候,被面试官问到,你能大概说说mysql 中的mysql库都是什么,起什么作用吗?忽然一时还想不起来了,只知道是有权限用户.然后今天来写个文章,探究下. mysql 中有个库叫mys ...

最新文章

  1. matlab中real函数,Matlab中del2()函数学习笔记
  2. 关于manacher
  3. 抛弃PHP,WordPress.com以JavaScript重写
  4. 2019.1.11英语笔记1
  5. 启动物料帐后不可更改物料价格的处理方法
  6. 《编译原理》第二章知识点
  7. 使用富文本OHAttributedLabel
  8. retain、strong、weak、assign区别
  9. 法在计算机课程中的应用,任务驱动法在计算机办公课程中的应用
  10. ubuntu16.04 升级内核
  11. 特斯拉蛇形充电机器人_特斯拉将内存设备锁入手套箱内 确保哨兵模式/TeslaCam数据安全...
  12. 常见密码归纳(入门级)
  13. java替换特殊字符,如何替换字符串中的特殊字符?
  14. Autel Maxisys Elite Common FAQs
  15. python 在线编译器
  16. 文献(5): 单细胞转录组揭示人类纤维化皮肤病中成纤维细胞的异质性
  17. 15W无线充电芯片介绍
  18. 计算机虚拟化的基本概念,虚拟化和虚拟机基本概念
  19. 电脑录屏怎么录视频?了解几个小技巧
  20. 【汽车安全】ISO26262概要

热门文章

  1. mysql初始化登录报错解决-1
  2. Mongodb JAVA API
  3. JSSE Java与SSL
  4. openstack nova后端使用ceph rbd(增加在线迁移live_migrate和快照snapshot功能)
  5. php中数组自定义排序
  6. VMware基础架构和运营管理
  7. kafka中zookeeper的作用
  8. [MapReduce_8] MapReduce 中的自定义分区实现
  9. 软件天才都是训练出来的
  10. 解决 Error:No suitable device found: no device found for connection System eth0