Linux下Python连接MySQL异常

家里的电脑使用Linux操作系统,最近采集的数据需要存储到MySQL,本来使用web.py的时候使用MySQL是一切正常的,结果现在直接使用MySQLdb连接数据库时异常:

/usr/lib/python2.7/dist-packages/pkg_resources.py:1031: UserWarning: /home/huayuan/.python-eggs is writable by group/others and vulnerable to attack when used with get_resource_filename. Consider a more secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable).
  warnings.warn(msg, UserWarning)

看提示应该是Linux系统权限问题,而且在XP电脑上验证过,连接MySQL的Python代码本身是没有问题的,代码如下:

#coding=utf-8
import MySQLdb

try:
    conn = MySQLdb.connect(host = ‘127.0.0.1‘, user = ‘root‘, passwd = ‘‘, db = ‘sys‘)
    cur = conn.cursor()
    cur.execute("insert into book(description) select ‘test‘ from dual where not exists (select 1 from book where id = 7)")
    conn.commit()
    cur.close()
    conn.close()
except MySQLdb.Error, e:
    print ‘MySQL Error: %d %s‘ % (e.arg[0], e.arg[1])

一开始就很容易认为是权限不足,依照提示在Linux终端将/home/huayuan/.python-eggs增加读写权限:

chmod a+rw /home/huayuan/.python-eggs

结果问题依旧,后来经过反复搜索,终于找到答案,原来不是要增加权限,而是要减掉一些权限,最终有效答案如下:

chmod g-wx, o-wx /home/huayuan/.python-eggs
时间: 2024-10-14 23:50:25

Linux下Python连接MySQL异常的相关文章

linux下tomcat连接mysql数据库

一.下载安装jdk,并配置Java环境官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html以jdk-7u79-linux-i586.tar.gz为例:将jdk-7u79-linux-i586.tar.gz解压并放在/usr/local/下:解压方法(tar -zxvf jdk-7u79-linux-i586.tar.gz)以下类似 配置环境变量:在 /etc/profile添加一下语句: export

在Linux下php连接mysql数据库遇到2002错误

用thinkphp连接mysql数据库的时候出现了这样一个错误: SQLSTATE[HY000] [2002] No such file or directory 这是因为在 php.ini 配置文件中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法连接数据库 在 php.ini 文件中配置以下三项 mysql.default_socket = /tmp/mysql.sockpdo_mysql.default_socket= /tmp/mysql.sockmysql

linux 下远程连接mysql命令详解

http://hi.baidu.com/aaxh/blog/item/49bcb78ffe3dfae4f01f36b2.html一.MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格) C:\>mysql -h localhost -u root -p123(注意-p与密码是紧跟的) 二.MySQL 连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“123” C:\>mysql -h 172.1

SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

今天上班遇到的问题,新配的Linux服务器,php.Apache和一系列扩展插件装好后,在本地好好的程序移上去就一直抱数据库连接错误,而用sql命令却能连接上去, 做了一个简单的判断数据库连接页面还是不行,证明不是程序问题,而是php的哪里问题了,就在网上查了大半天 有些方法都不合情况后面偶然发现SELinux这个东西 查了下这个有限制httpd对外访问的权限:具体如下 输入命令:getsebool -a|grep -i httpd 里面会有一个 httpd_can_network_connec

Python连接MySQL数据库之pymysql模块使用

Python连接MySQL数据库之pymysql模块使用 Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数据库. PyMySQL安装 pip install pymysql 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的datab

python入门(十七)python连接mysql数据库

mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuemongodb:磁盘上redis:内存数据库,持久化memchache:内存数据库 mysql -uroot -p密码装完了之后,cmd下输入mysql命令,需要将安装目录下的bin目录( mysql.exe 所在的目录)加入到path中 本地连接 mysql -uroot -p mysql -h12

Linux系统Java连接Mysql数据库

Linux系统下Java连接Mysql数据库方法与Windows下类似,具体步骤如下: 下载JDBC(驱动):mysql-connector-java-5.1.37.tar.gz 解压下载的数据包:tar -zxvf mysql-connector-java-5.1.37.tar.gz 解压后,mysql-connector-java-5.1.29-bin.jar位于mysql-connector-java-5.1.29目录下. 配置解压后,mysql-connector-java-5.1.29

Python连接Mysql数据库(Debian)

Python连接Mysql数据库(Debian) 以下是Python 2.*版本的安装方法,MySQL-python暂不支持Python 3.*版本 提前要做的工作: 安装setuptools,在终端中运行 wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python 安装pip,下载“get_pip.py”,运行 python get_pip.py 运行如下命令装好必要的包 sudo apt-get install python-d

Windows 下Python操作MySQL

1.环境要求(Win7 X64): python 2.7, MySQL-python-1.2.3.win-amd64-py2.7 :http://www.codegood.com/download/11/  (有需要32位的在这个地方下载https://pypi.python.org/pypi/MySQL-python) 注意:请看清楚自己的电脑位数,如果64位的系统使用32位的安装包会报如下错误: ImportError: DLL load failed: %1 不是有效的 Win32 应用程