Python远程连接MySQL数据库
使用Python连接数据库首先需要安装Python的数据库驱动。
我的本地只装了Python,并没有装MySQL,当我使用命令:
sudo pip install mysql-python
安装驱动(也就是MySQLdb模块)的时候出现如下错误:
EnvironmentError: mysql_config not found
查资料 知道是因为没有安装下面两开发包:
libmysqld-dev
libmysqlclient-dev
安装:
sudo apt install libmysqld-dev
事实上用apt安装第一个之后,第二个也已经存在了。再次尝试安装mysql-python就成功了。
现在尝试远程连接数据:
import MySQLdb
conn = MySQLdb.connect(host = '×××××××××××××', # 远程主机的ip地址,
user = 'root', # MySQL用户名
db = 'alimusic', # database名
passwd = '××××××', # 数据库密码
port = 3306, #数据库监听端口,默认3306
charset = "utf8") #指定utf8编码的连接
cursor = conn.cursor() # 创建一个光标,然后通过光标执行sql语句
cursor.excute("select * from table1 limit 10")
values = cursor.fetchall() # 取出cursor得到的数据
cursor.close(); conn.close() #最后记得关闭光标和连接,防止数据泄露
如果excute()执行的是插入数据的代码,那么在执行完成之后需要调用
cursor.commit()
才能把结果写入数据库
中文乱码
编码错误在任何时候都必须重视的问题,由于连接数据库涉及到多个层次,比如数据库服务器编码,创建的database编码,table的编码,连接(也就是上面的conn)编码。如果出现乱码,需要检查上述的每一个环节。这里记录几个查询各种编码的方式:
- 查询数据库的各种编码:
show variables like "%char%";
- 查询某个数据库的默认编码
show create database databasename;
- 查询某张表的默认编码
show create table tablename;
最好在create数据库或者表的时候在创建语句后面指定具体的编码方式:default character set utf8
参考资料
- [MySQL-Python安装问题小记](http://www.jb51.net/article/58921.htm)
- python 使用MySQL
Python远程连接MySQL数据库的更多相关文章
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误
原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...
- linux远程连接mysql数据库
在linux系统中,远程连接mysql数据库时不仅需要开启ip访问,还需要将防火墙中添加相应规则 在wdlinux中的[安全管理]菜单下选择[防火墙[iptables]]选项,增加端口为3306的规则 ...
- 使用Python编程语言连接MySQL数据库代码
使用Python编程语言连接MySQL数据库代码,跟大家分享一下: 前几天我用python操作了mysql的数据库,发现非常的有趣,而且python操作mysql的方法非常的简单和快速,所以我把代码分 ...
- navcat无法远程连接mysql数据库解决办法
navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO ...
- 远程连接MySQL数据库问题总结
远程连接MySQL数据库时,陆陆续续遇到了一些杂七杂八的问题,相信很多人也曾经遇到过这类问题,下面总结归纳在下面,方便以后直接查找. 1:出现ERROR 2003 (HY000): Can't con ...
- 【MySQL解惑笔记】Navicat 无法远程连接MySQL数据库
安装好Navicat之后远程连接MySQL数据库出现以下报错截图: 出现以上截图怀疑是mysql用户权限不够: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.1 ...
- 远程连接 mySql数据库
远程连接 mySql数据库 一.安装并配置MySQL1.安装MySQL:运行mysql-essential-6.0.11-alpha-win32,按“MySQL+6.0+Windows下安装图解”完成 ...
- 远程连接mysql数据库
远程连接mysql数据库需要以下步骤(改表法): 1.数据源(数据库服务器)对要访问数据库进行授权: 2.本地库(本地)连接: 具体方法: 1. 进入数据服务器,输入cmd进入控制台:输入 mysql ...
随机推荐
- 初识代理——Proxy
无处不在的模式——Proxy 最近在看<设计模式之禅>,看到代理模式这一章的时候,发现自己在写spring项目的时候其实很多时候都用到了代理,无论是依赖注入.AOP还是其他,可以说是无处不 ...
- 8.源码分析---从设计模式中看SOFARPC中的EventBus?
我们在前面分析客户端引用的时候会看到如下这段代码: // 产生开始调用事件 if (EventBus.isEnable(ClientStartInvokeEvent.class)) { EventBu ...
- Postgresql部署及简单操作
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚.但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先 ...
- GD32电压不足时烧写程序导致程序运行异常的解决方法
一直使用的GD32F450前段时间遇到这样一个问题,当使用J-Link供电给板子烧写程序之后,程序运行缓慢,就像运行在FLASH高速部分之外一样,但是如果使用外部供电烧写,就不会出现这个问题,而且一旦 ...
- MongoDB Day 1
创建数据库 db.createCollection("user"); 插入字段 //----insert------- db.user.insert({uid:1, user_co ...
- python相关,各种命令集合
PS: cmd必须管理员身份运行 python版本 2.7 可能会出现编码问题:在 Lib/site-packages 新建文件 sitecustomize.py import sys sys.s ...
- SpringBoot中快速实现邮箱发送
前言 在许多企业级项目中,需要用到邮件发送的功能,如: 注册用户时需要邮箱发送验证 用户生日时发送邮件通知祝贺 发送邮件给用户等 创建工程导入依赖 <!-- 邮箱发送依赖 --> < ...
- Python中模块与包的导入(朴实易懂版的总结)
这几天,被python包与模块的导入问题,折磨的不行,以前想的很简单,其实不然,经查资料研究,特总结如下: 基本注意点 模块:一般指一个py文件:包:含有许多py文件的文件夹,含有 或不含有(Pyth ...
- HBase 系列(六)——HBase Java API 的基本使用
一.简述 截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 @depreca ...
- 关于Function和Object之间先后问题的相关研究
文章说明,博主是一个前端小白,本片文章是博主在学习的过程中碰到的疑惑,根据查找的资料,之后得出的个人结论,文中如果出现错误,欢迎指正. -------路漫漫其修远兮吾将上下而求索,与诸君共勉----- ...