在安装mysql的时候,活活折腾我两天。结果终于被我折腾成功了……
一开始我就放了个错误:我下了32位版本的mysql:mysql-5.5.8-osx10.6-x86.dmg 
须知在mac下装的是64位的python,所以后面我安装mysql的python驱动Mysql-python,一直出错:
importError dlopen(…./…./_mysql.so,2)

注:安装mysql-python的时候,出现找不到mysql_config的错误,可以照网上的方法去修改安装文件,最好的方式是把mysql的bin文件夹添加到环境变量中。

之类的……和下面提到的错误很像,不知道是不是一样的,窗口被我关了,以不可考……不过官方的FAQ.txt有提到这种错误,说是gcc的版本不一样,可能过旧之类的。后来查看一些网页得知,原来mac用的是64位的python,所以要用64位的mysql……
所以卸载之。结果发现mysql的dmg包里还没卸载工具……郁闷的于是在网上搜到了卸载mysql的方法,原来得手动删除。
网上很多文章记述的方法中,删除的不干净,丢了一个地方。我在stackflow上查到,于是写出来,供大家查阅。http://hearrain.com/2011/01/495 
换了64位安装包,原来应该没什么问题的,结果还是出现原来这样类似的错误。
于是就索性转用homebrew来安装。
结果homebrew安装的mysql,在python下import没问题,不过却不能初始化数据库……在homebrew官网问了,却一直没有方法解决……(真不知道是不是我人品问题)
homebrew下装的mysql是classic版mysql-5.1.54,我怀疑是版本问题,就转向官网下mysql-5.1.54二进制包 
结果数据库能初始化,不过python下import MySQLdb却出现下面错误
>>> import MySQLdb
Traceback (most recent call last):
File "", line 1, in 
File "MySQLdb/__init__.py", line 19, in 
import _mysql
ImportError: dlopen(/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so, 2): Library not loaded: /usr/local/Cellar/mysql/5.1.54/lib/mysql/libmysqlclient_r.16.dylib
Referenced from: /usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so
Reason: image not found

在我被折腾的死去活来的时候,我觉得好好研究一下错误代码。
错误中提到libmysqlclient_r.16.dylib不能载入,不过在mysql的lib里libmysqlclient_r.16.dylib在的啊。
结果在stackoverflow 上提到了校验libmysqlclient_r.16.dylib的文件问题,所以我就坚定了这部分有问题。
不过我在这篇文章 (这篇文章应该也是stackoverflow上的)中发现了问题真正原因:mysql-python的build问题。
这篇文章中,仔细让我们校验了mysql/lib里的libmysqlclient_r.16.dylib和python2.7/site-packages里的_mysql.so。
通过otool -L _mysql.so 分析发现,原来_mysql.so依然链接的是homebrew安装mysql时libmysqlclient_r.16.dylib的位置……因为 mysql-python在install时build,保留了旧的位置,所以需要重新build,最好是删掉,重新解压来安装。
所以我想大概前面装64位时,python下import不成功的原因就是mysql-python在install的时候保留了旧的位置……哎……没文化真是害死人。
重新解压mysql-python,install,测试成功。

总结: 
1、mac下预装的python是64位的,所以一定要用64位的mysql。安装方法:http://hearrain.com/2011/01/498 
2、mac下用DMG格式的mysql安装的话,卸载很麻烦。卸载方法:http://hearrain.com/2011/01/495 
3、安装好mysql或是其他软件,得记得设环境变量。mac下修改环境变量的方法http://hearrain.com/2011/01/490中有提到。
4、用setuptools重新安装python组件时,记得重新build,或者重新解压。
5、仔细分析错误代码,追踪错误源头,善于在stackoverflow上找答案。stackoverflow真是一个相当赞的技术问答社区。quora这样的社区有点闹了。技术社区应该很垂直,很干脆,社交元素神马的都是浮云。

本文转自:http://hearrain.com/2011/01/494

转载于:https://www.cnblogs.com/heinoc/p/3779436.html

(转)Mac下MySql安装经历(含安装错误排查、卸载多种折腾)相关推荐

  1. mac下mysql的DMG格式安装卸载方法

    mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很多文章记述要删的文件不完整,后来在 stackoverflow 这里发现了 ...

  2. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  3. Mac下MySQL卸载方法

    2019独角兽企业重金招聘Python工程师标准>>> mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很 ...

  4. mac下mysql安装,忘记初始临时密码怎么破。

    mac下mysql安装,忘记初始临时密码怎么破. 环境 采用安装包安装 MySQL 5.7 坑点 mysql安装包安装可以在系统设置里出现图标,brew安装的话不可以 mysql安装后忘记临时密码 m ...

  5. mvn Mac Linux 版本,Mac 下 Maven 的命令行安装

    JDK 的安装 系统的"系统偏好设置"中我们可以看到 Java的设置, Java 7(含) 之后的版本在这里可以看到. 点击进去后,可以看到独立的 Java 控制面板 注意,这里是 ...

  6. mysql8.0.20 64位安装教程_windows 64位下MySQL 8.0.15安装教程图文详解

    先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向my ...

  7. mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...

  8. Linux下MySQL的几种安装方式

    闲来有空,整理下Linux下Mysql的几种安装方式,分别使用yum/rpm.常规方式编译安装.cmake方式编译安装以及使用二进制方式免编译安装MySQL Linux系统环境: CentOS rel ...

  9. mysql 5.6.27安装图解_Linux下MySQL 5.6.27 安装教程

    本文实例为大家分享了Linux下MySQL 5.6.27 安装教程,供大家参考,具体内容如下 1.下载地址 2.将压缩包上传到服务器 3.解压 tar -zxf mysql-5.6.27-linux- ...

  10. win10配置mysql8.0_Win10下mysql 8.0.20 安装配置方法图文教程

    Win10系统下MySQL 8.0.20安装和配置超详细教程 MySQL下载 MySQL直接去官网下载就行,选择community版本(免费)下载,链接. 在select operating syst ...

最新文章

  1. android webview腾讯,Android webview无法播放腾讯视频问题
  2. C# 学习笔记(9)线程
  3. 【转】PBOC3.0和PBOC2.0标准规范异同分析
  4. 【数据竞赛】从0梳理1场时间序列赛事!
  5. oracle里的查询转换
  6. mybatis 取list第一个_Mybatis(五)- 多对一
  7. c语言用什么操作系统,用C语言写关于操作系统的一个问题。
  8. input上报流程分析【转】
  9. java websocket client,java基础面试笔试题
  10. python socket发送16进制数据_python socket以16进制的数据进行传递与解析
  11. python安装无法直接安装的包
  12. 43.django中form组件
  13. 完整的连接器设计手册_连接器材料使用大全
  14. 阿里巴巴分布式服务框架HSF
  15. Unreal 蓝图工具 spline 道路组件
  16. 【软件构造】正则表达式合法性检测
  17. POJ 1979 Red and Black(红与黑)
  18. 水杨酸-FITC | salicylic acid-FITC|荧光素标记水杨酸
  19. 用ChatGPT可以去微博做个大V了(狗头)
  20. visual studio 2013和visual studio 2015下载链接 老版本VS

热门文章

  1. 11210怎么等于24_【Python】鸡兔同笼怎么“妙解”?
  2. C/C++栈溢出的几种解决办法
  3. HALCON完全卸载重装
  4. python 使用session_使用session和只使用session有什么区别
  5. 卢京潮自动控制原理ppt_视觉定位系统在贴片机中的使用与原理作用
  6. 用net连某台电脑c盘怎么连_关于电脑的4个冷知识,恐怕90%的人连第一个都不知道!...
  7. Coding and Paper Letter(二十四)
  8. GitLab 已迁移至谷歌云平台,并表示目前运行良好
  9. Redis工具类的封装
  10. Nginx 代理 WebSocket