Ubuntu下Python使用MySQLdb远程连接数据库的常见问题及解决方案

本文基于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 15, in <module>
    metadata, options = get_config()
  File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 24, 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

时间: 2024-10-13 04:44:35

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

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时会带来诸多不便.所以在此记录下ubuntu下 python 2.7与python 3.X的转换的方法: 先下载python3 sudo add-apt-repository ppa:fkrull/deadsnakes #添加一个源 sudo apt-get update #更新源列表,以获取最新的版本 sudo a

ubuntu下python安装第三方库(library)的简易方法

安装个easy_install工具 sudo apt-get install python-setuptools 然后sudo就OK了 比如Ubuntu下Python读写excel库 sudo easy_install xlrd sudo easy_install xlwt sudo easy_install xlutils 使用: import xlrd import xlwt import xlutils

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

windows(32位 64位)下python安装mysqldb模块 www.111cn.net 编辑:mengchu9 来源:转载 本文章来给各位使用在此windows系统中的python来安装一个mysqldb模块教程,有需要了解学习的朋友可参考参考. 1.exe下载地址:http://www.codegood.com/archives/129 分为32位和64位,下载对应的exe即可 2.下载完后,双击exe安装即可 3.检查是否安装成功:如果安装成功,将没有任何提示,如下  代码如下 复

ubuntu下minicom的安装,使用,常见问题的解决

1. 安装 直接使用命令; $ sudo apt-get install minicom 即可安装: 2. 配置和使用 在配置阶段主要是配置串口号和波特率等,和在windows下配置超级终端是一样的. 输入命令; $sudo minicom -s 进入如下的配置界面,用键盘上下键选择"Serial port setup" 然后进入到下面配置串口的界面,输入前面对应的字幕进入相应的配置,比如选择A 即可配置Serial Device. 关于设备号的问题,如果你是用的USB转串口而且使用的

Caused by: java.sql.SQLException: Access denied for user &#39;root&#39;@&#39;192.168.6.131&#39; (using password: YES),远程连接数据库,连接不上解决方案

进入 mysql   ; use mysql; 然后 执行 GRANT ALL PRIVILEGES ON *.* TO [email protected]"你.的.端.口" IDENTIFIED BY "你的密码" WITH GRANT OPTION; FLUSH PRIVILEGES; 然后成功 Caused by: java.sql.SQLException: Access denied for user 'root'@'192.168.6.131' (usi

ubuntu 下mysql 设置允许远程连接

ubuntu: 安装mysql-server,sudo apt-get install mysql-server mysql 安装成功后查看mysql状态:/etc/init.d/mysql status 出现如图所示:则mysql服务处于运行状态: 图 1 若出现出现下图所示,表示mysql服务未启动, 运行:sudo /etc/init.d/mysql start 启动mysql服务 出现下图情况则启动成功: 确定 mysql服务启动成功后,进行mysql允许远程连接设置: 方法一: 1.

Ubuntu下python的BeautifulSoup和rsa安装方法

最近因为<信息检索>第二个project,需要爬取微博数据,然后再处理.师兄给了代码,让慢慢爬,但是在ubuntu下,少了很多python软件包.需要安装. 1.首先运行时,说少了python,BeautifulSoup包,用来解析html文件神奇,这么重要的包怎么能缺少呢,百度ubuntu python BeautifulSoup后,看博客后找到方法: 先安装easy_install工具: 再用easy_install安装: easy_install BeautifulSoup 若是还没有安

ubuntu 下python环境的切换使用

如何在Anaconda的python和系统自带的python之间切换 一般ubuntu下有三种python环境,1. 系统自带python2,3;在/usr/bin路径下:2. anaconda下安装的python;3. anaconda下创建的env环境 [email protected]:~/caffe-ssd$ whereis python python: /usr/bin/python3.6m /usr/bin/python2.7-config /usr/bin/python2.7 /u

Ubuntu下python两个版本的切换

最近在Ubuntu16.04安装了python3.5还有系统自带的python2.7.13,总结一下不同版本的切换问题. alias:别名 bashrc:个人配置文件 一.修改Python版本(针对用户) 想要为某个特定用户修改 Python 版本,只需要在其 home 目录下创建一个 alias(别名) 即可.打开该用户的 ~/.bashrc文件,添加新的别名信息来修改默认使用的 Python 版本. alias python='/usr/bin/python3.5' 一旦完成以上操作,重新登