关于MySQL-python-1.2.3.tar.gz安装失败的解决方案

RHEL6.4升级到python2.7.9,然后安装 MySQL-python-1.2.3.tar.gz, 报错。解决错误之后,运行:

python2.7 -c "import MySQLdb"

失败:

>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg/MySQLdb/__init__.py", line 19, in <module>
  File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg/_mysql.py", line 7, in <module>
  File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg/_mysql.py", line 6, in __bootstrap__
ImportError: /root/.python-eggs/MySQL_python-1.2.3-py2.7-linux-x86_64.egg-tmp/_mysql.so: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE

找了很多解决方法都无效。转而使用mysql官方的python连接器 mysql-connector-python。下载后安装:

# for mysql5.5+
$ wget http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-Python/mysql-connector-python-2.1.1.tar.gz

# for mysql 4.1, 5.0, 5.1+
$ wget http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-Python/mysql-connector-python-1.2.0.tar.gz

# or download from my ftp site:

$ wget ftp://pub:pub@pepstack.com/tarball/mysql-connector-python-1.2.0.tar.gz

$ wget ftp://pub:pub@pepstack.com/tarball/mysql-connector-python-2.1.1.tar.gz

# install it:
$ tar zxf mysql-connector-python-1.2.0.tar.gz
$ cd mysql-connector-python-1.2.0
$ python2.7 setup.py build
$ sudo python2.7 setup.py install

然后测试:

 import mysql.connector
>>> conn=mysql.connector.connect(user='root', password='******', host='127.0.0.1', database='devops')
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/local/lib/python2.7/site-packages/mysql/connector/__init__.py", line 176, in connect
    return MySQLConnection(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/mysql/connector/abstracts.py", line 719, in connect
    self._open_connection()
  File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 213, in _open_connection
    self._ssl)
  File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 144, in _do_auth
    self._auth_switch_request(username, password)
  File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 180, in _auth_switch_request
    raise errors.get_exception(packet)
mysql.connector.errors.DatabaseError: 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

解决方法参考:

https://dev.mysql.com/doc/refman/5.6/en/password-expiration-sandbox-mode.html

就是mysql密码过期,重设一下就OK:

mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD=PASSWORD('new pass here');
Query OK, 0 rows affected (0.00 sec)

然后再试:

>>> config={
...     'user':'root',
...     'password':'***********',
...     'host':'127.0.0.1',
...     'database':'devops',
... }
>>> conn = mysql.connector.connect(**config)
>>> cur = conn.cursor()
>>> q="SELECT * FROM packages"
>>> cur.execute(q)
>>> for row in cur:
...     print row
...
(1, u'kbc', u'krb5-workstation', u'kerberos', None, None, None)
(2, u'kbs', u'krb5-server', u'kerberos', None, None, None)
(3, u'hadn', u'hadoop-hdfs-datanode', u'hadoop', u'hadoop-hdfs-datanode', u'hann', None)
(4, u'hamr', u'hadoop-mapreduce', u'hadoop', None, None, None)
(5, u'hanm', u'hadoop-yarn-nodemanager', u'hadoop', u'hadoop-yarn-nodemanager', None, None)
(6, u'hajn', u'hadoop-hdfs-journalnode', u'hadoop', u'hadoop-hdfs-journalnode', u'hazk', None)
(7, u'hann', u'hadoop-hdfs-namenode', u'hadoop', u'hadoop-hdfs-namenode', u'hajn', None)
(8, u'hazk', u'hadoop-hdfs-zkfc', u'hadoop', u'hadoop-hdfs-zkfc', u'zksvr', None)
(9, u'halzo', u'hadoop-lzo', u'hadoop', None, None, None)
(10, u'halib', u'hadoop-libhdfs', u'halibhdfs', None, None, None)
(11, u'halibd', u'hadoop-libhdfs-devel', u'halibhdfs', None, None, None)
(12, u'hares', u'hadoop-yarn-resourcemanager', u'hadoop', u'hadoop-yarn-resourcemanager', None, None)
(13, u'hahis', u'hadoop-mapreduce-historyserver', u'hadoop', u'hadoop-mapreduce-historyserver', u'hann', None)
(14, u'hbma', u'hbase-master', u'hbase', u'hbase-master', u'hann', None)
(15, u'hbreg', u'hbase-regionserver', u'hbase', u'hbase-regionserver', u'hbma', None)
(16, u'hbrst', u'hbase-rest', u'hbase', None, None, None)
(17, u'hbthr', u'hbase-thrift', u'hbase', None, None, None)
(18, u'hvbas', u'hive', u'hive', None, None, None)
(19, u'hvhb', u'hive-hbase', u'hive', None, None, None)
(20, u'hvms', u'hive-metastore', u'hive', u'hive-metastore', None, None)
(21, u'hvsvr', u'hive-server2', u'hive', u'hive-server2', None, None)
(22, u'hvjdbc', u'hive-jdbc', u'hive', None, None, None)
(23, u'hvhc', u'hive-hcatalog', u'hive', None, None, None)
(24, u'hvwhs', u'hive-webhcat-server', u'hive', None, None, None)
(25, u'hvwhc', u'hive-webhcat', u'hive', None, None, None)
(26, u'imcat', u'impala-catalog', u'impala', u'impala-catalog', None, None)
(27, u'imsvr', u'impala-server', u'impala', u'impala-server', None, None)
(28, u'imsh', u'impala-shell', u'impala', None, None, None)
(29, u'imss', u'impala-state-store', u'impala', u'impala-state-store', None, None)
(30, u'sphis', u'spark-history-server', u'spark', None, None, None)
(31, u'spma', u'spark-master', u'spark', None, None, None)
(32, u'spwkr', u'spark-worker', u'spark', None, None, None)
(33, u'zkbas', u'zookeeper', u'zookeeper', None, None, None)
(34, u'zksvr', u'zookeeper-server', u'zookeeper', u'zookeeper-server', None, None)
>>> cur.close()
True
>>> conn.close()
>>>

一切正常!

参考:

http://dev.mysql.com/doc/connector-python/en/connector-python-installation-source.html

下载地址:

http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-Python/

官方开发接口参考:

http://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-select.html

关于MySQL-python-1.2.3.tar.gz安装失败的解决方案的更多相关文章

  1. 在mac上使用tar.gz安装mysql

    官方: download: https://dev.mysql.com/downloads/mysql/ mysql参考文档:https://dev.mysql.com/doc/ 环境: macOS ...

  2. qq for linux tar.gz安装

    借用官网的一段话 QQ for Linux 怎么命令行安装和卸载 RPM版本 安装 ①打开控制台,使用管理员身份登录 :②在终端中输入命令“rpm –U package_name.rpm“ , pac ...

  3. 【mysql】mac上基于tar.gz包安装mysql服务

    一.准备工作 (1)下载mysql-5.7.21-macos10.13-x86_64.tar.gz,并将该压缩包移动至/usr/local目录下 (2)解压压缩包 二.安装 (1)将解压的包重命名为m ...

  4. linux 安装mysql mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    下边连接:https://www.cnblogs.com/zero-gg/p/8875598.html,大神的结晶啊,我就悄悄的留下来自己用,链接缺少的部分补充下: 1.包的下载方法:wget htt ...

  5. Python压缩文件夹 tar.gz .zip

    打包压缩生成 XXX.tar.gz 文件 import os import tarfile if os.path.exists(outputFileName): with tarfile.open(o ...

  6. CentOS随笔 - 4.CentOS7安装MySql 5.5.60(下载 tar 方式安装)

    前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 由于公司也有php+mysql的项目, 所以今天也把Mysql装了一遍. 为了与以前的程序和数据库兼容, 这次 ...

  7. nginx tar.gz安装方法+简单静态文件配置

    1.首先安装依赖包(依赖包有点多,我们采用yum的方式来安装) yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel ...

  8. linux samba.tar.gz安装和配置

    安装步骤: 1. tar -xzvf samba-3.5.10.tar.gz2. cd samba-3.5.103. cd source34. ./autogen.sh  如果出现:./autogen ...

  9. 最新samba.tar.gz安装方法

    看了韩顺平老师的samba.rpm包安装后,想自己也动手试试,便在samba官网找啊找,只找到一个tar.gz包,于是开始了这一段漫长的跨时两天的安装旅途... 1.首先,看看系统是否已经安装了sam ...

随机推荐

  1. poj 1811 随机素数和大数分解(模板)

    Sample Input 2 5 10 Sample Output Prime 2 模板学习: 判断是否是素数,数据很大,所以用miller,不是的话再用pollard rho分解 miller : ...

  2. 音频自动增益 与 静音检测 算法 附完整C代码

    前面分享过一个算法<音频增益响度分析 ReplayGain 附完整C代码示例> 主要用于评估一定长度音频的音量强度, 而分析之后,很多类似的需求,肯定是做音频增益,提高音量诸如此类做法. ...

  3. SqlServer 跨网段跨服务器复制

    注意:被同步的表必须有主键,否则无法同步.对数据库进行操作时需要登录服务器,在服务器本地进行操作,远程对数据库进行操作不能完成所有的步骤 准备工作: 1.将发布数据库完整备份到订阅服务器上,并在订阅服 ...

  4. django rest-framework 2.请求和响应

    一.请求对象 REST 框架引入Request来扩展常规的HttpRequest,并提供了更灵活的请求解析.Request对象的核心功能是request.data属性. 导入方式: from rest ...

  5. vim的基本介绍

    vim四种模式: 1.正常模式(Normal-mode) 当我们打开vim时就会进入到正常模式,这个时候是不能编辑的,一般用于浏览文件,包括复制,删除一些文本操作.我们可以通过键盘的上下左右来进行光标 ...

  6. Python中模块之time&datetime的功能介绍

    time&datetime的功能介绍 1. time模块 1. 时间的分类 1. 时间戳:以秒为单位的整数 2. 时间字符格式化:常见的年月日时分秒 3. 时间元祖格式:9大元素,每个元素对应 ...

  7. 网易互联网&网易游戏产品经理面试经验

    网易是分网易游戏和网易互联网的,本人都参加了校园招聘面试,最后均拿到了产品经理的offer. 网易是分网易游戏和网易互联网的,先说网易互联网吧,当时是去杭州总部进行面试,我觉得这是我面的最难的面试了. ...

  8. Linux学习之CentOS(四)----Linux文件属性、所有者、群组、其他组及文件权限操作简要总结

    Linux文件属性.所有者.群组.其他组及文件权限操作简要总结 首先介绍一个重要的知识点:文件属性控制权限 [root@www ~]# ls -al total 156 drwxr-x--- 4 ro ...

  9. input中v-model和value不能同时调用时解决方案

    <input type="text" v-model="keyWord" value="请输入地名地址" > 当使用如上代码时, ...

  10. CAP原理和BASE思想和ACID模型

    问题的解读 对于上面三个例子,相信大家一定看出来了,我们的终端用户在使用不同的计算机产品时对于数据一致性的需求是不一样的: 1.有些系统,既要快速地响应用户,同时还要保证系统的数据对于任意客户端都是真 ...