本文基于http://www.cnblogs.com/fnng/p/3565912.html这篇博文,学习使用MySQLdb过程中遇到下面这些问题。

1. 安装MySQLdb时运行sudo python setup.py install报错EnvironmentError: mysql_config not found

在安装 mysql-python时,会出现:

sh: mysql_config: not found
Traceback (most recent call last):
File "setup.py", line , in <module>
metadata, options = get_config()
File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line , in get_config
libs = mysql_config("libs_r")
File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line , in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

原因是没有安装:libmysqlclient-dev

sudo apt-get install libmysqlclient-dev

自己电脑上做到这里就完成了。原文里还有以下步骤,如果还是不能安装可以试试。

找到mysql_config文件的路径

sudo updatedb
locate mysql_config

mysql_config的位置为:/usr/bin/mysql_config

在mysql-python源码包下找到:setup_posix.py 文件,然后找到文件中的 mysql_config.path 将其值改为:/usr/bin/mysql_config,然后 sudo python setup.py install ,就ok了

参考文献:http://www.cnblogs.com/xiazh/archive/2012/12/12/2814289.html

2.import MySQLdb UserWarning错误

原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。

参考文献:http://blog.csdn.net/jiang1013nan/article/details/6270791

3. 远程连接报错ERROR 1130: Host '115.1XX.X.3' is not allowed to connect to this MySQL server

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

use mysql;
update user set host = '%' where user = 'root';

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED
BY&nbsp;<BR>'mypassword' WITH GRANT OPTION;

本人使用第一种方法成功了。

参考文献:http://blog.csdn.net/july_2/article/details/41896295

4.ERROR 2003 (HY000): Can't connect to MySQL server on '10.16.XXX.XXX' (111)

可能使用了bind_address=127.0.0.1(当然也可以是其他ip)

[mysqld]
bind_address=127.0.0.1

通过查看了my.cnf文件,注释掉这一句再重启mysql服务即可。

也可能是其他问题,详见参考文献:http://blog.csdn.net/qustdjx/article/details/26937325/

5.修改了my.cnf后如何重启mysql服务?

停止mysql:

方式一:sudo /etc/init.d/mysql stop

方式二:sudo stop mysql

方式三:sudo service mysql stop (亲测可行)

重启mysql:

方式一:sudo/etc/init.d/mysql restart

方式二:sudo restart mysql

方式三:sudo service mysql restart

参考文献:http://www.2cto.com/database/201305/207791.html

Ubuntu下Python使用MySQLdb远程连接数据库的常见问题及解决方案的更多相关文章

  1. Ubuntu下python安装mysqldb(驱动)

    最近在学习Django框架,需要使用到数据库,我使用的是mysql,跟java一样,需要安装驱动,这是驱动的下载网址http://sourceforge.net/projects/mysql-pyth ...

  2. ubuntu下python 2.7与python 3.X的转换

    ubuntu下python 2.7与python 3.X的转换 由于ubuntu本身自带python 2.7,而python 3.X与2.7有很多不同,所以在使用python 3.X时会带来诸多不便. ...

  3. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  4. windows(32位 64位)下python安装mysqldb模块

    windows(32位 64位)下python安装mysqldb模块 www.111cn.net 编辑:mengchu9 来源:转载 本文章来给各位使用在此windows系统中的python来安装一个 ...

  5. ubuntu 下python安装及hello world

    //@desn:ubuntu 下python安装及hello world //@desn:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> ...

  6. Linux(Ubuntu) 下自然码加辅助码双拼输入的解决方案

    Linux(Ubuntu) 下自然码加辅助码双拼输入的解决方案 环境: Ubuntu 14.04 LTS 解决方案是 ibus-Rime 输入法, 再加上搭配自然码的配置表 (1) ibus 首先安装 ...

  7. 在本地没有安装Oracle的情况下,使用plsql远程连接数据库

    远程连接数据库的方式不止一种.这里主要写在本地没有安装Oracle的情况下,使用plsql可视化工具远程连接数据库的方式. 一.前提 首先你本地得安装有plsql工具.具体的安装步骤就不多说了. 二. ...

  8. ubuntu 下python环境的切换使用

    如何在Anaconda的python和系统自带的python之间切换 一般ubuntu下有三种python环境,1. 系统自带python2,3;在/usr/bin路径下:2. anaconda下安装 ...

  9. ubuntu下Python的安装和使用

    版权声明 更新:2017-04-13-上午博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Python的开发环境. ...

随机推荐

  1. windows下的Mysql安装与基本使用(msi)

    一.安装方式 1.msi(其他版本:https://www.cnblogs.com/zjiacun/p/6653891.html) 2.zip 这里我们用msi吧,只是单纯练习的话,简单很多 二.ms ...

  2. Tensorflow 学习笔记(一)TensorFlow入门

    一.计算模型----计算图 1.1 计算图的概念:TensorFlow就是通过图的形式绘制出张量节点的计算过程,例如下图执行了一个a+b的操作. 1.2 计算图的使用 TensorFlow程序一般分为 ...

  3. Hadoop MapReduce InputFormat基础

    有时候你可能想要用不同的方法从input data中读取数据.那么你就需要创建一个自己的InputFormat类.   InputFormat是一个只有两个函数的接口.   public interf ...

  4. 企业级web nginx服务优化

    1.1)隐藏nginx header 内版本号信息 [root@aliyun ~]# vi /application/nginx/conf/nginx.conf http{ …… server_tok ...

  5. ServiceModel 元数据实用工具 (Svcutil.exe)

    ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档 一.SvcUtil.exe ServiceModel 元数据实用工具可在 Windows ...

  6. ExtJS + fileuploadfield实现文件上传

    后台服务端接收文件的代码: /** * 后台上传文件处理Action */ @RequestMapping(value = "/uploadFile", method=Reques ...

  7. js防抖

    那我们设置个 options 作为第三个参数,然后根据传的值判断到底哪种效果,我们约定: leading:false 表示禁用第一次执行trailing: false 表示禁用停止触发的回调 我们来改 ...

  8. Python学习笔记之Python的enumerate函数

    Python 的 enumerate() 函数就像是一个神秘的黑箱,你无法简单地用一句话来概括这个函数的作用与用法. enumerate() 函数属于非常有用的高级用法,而对于这一点,很多初学者甚至中 ...

  9. 20145229吴姗珊《网络对抗》shellcode注入&Return-to-libc攻击深入

    20145229吴姗珊<网络对抗>shellcode注入&Return-to-libc攻击深入(待上传) shellcode注入 shellcode是一段代码,是溢出程序和蠕虫病毒 ...

  10. 在Linux系统下使用Github的基本教程

    1. 安装git: sudo apt-get install git-core git-gui git-doc 2.到https://github.com/ 注册一个帐号,一会儿客户端登录的时候要使用 ...