博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python利用MySQLdb操作远程数据库
阅读量:4091 次
发布时间:2019-05-25

本文共 1514 字,大约阅读时间需要 5 分钟。

想实现以下流程:

MySQL Server安装在Windows机器上,在Windows机器上用虚拟机跑一个Ubuntu。然后尝试在Ubuntu上用MySQLdb连接Windows的MySQL Server。

过程并不顺利,下面一一介绍关键步骤和解决了什么问题。

1.安装MySQLdb

按照  这篇文章的介绍,一步步操作,

wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gztar zxvf MySQL-python-1.2.3.tar.gz$ cd MySQL-python-1.2.3$ python setup.py build$ python setup.py install
到最后发现果然出现了文中提到的
EnvironmentError: mysql_config not found错误,按照其提供的解决方法并没有找到mysql_config,发现是因为Ubuntu机器上并没有安装mysql_config,那么接下来就需要:

apt-get install libmysqlclient-dev python-dev
很简单,这一行命令安装所需要的依赖。

安装完之后,就可以用find / -name mysql_config 命令来查看mysql_config文件所在路径,并在mysqldb安装目录中找到setup_posix.py文件,将其中的mysql_config.path改成自己的路径。

这时,Ubuntu上的工作就基本完成了。

2.Mysql server 远程访问权限开启

默认下mysql是不允许远程用户访问的,因此需要在windows上进入mysql命令行:mysql -h localhost -root -p 回车输入密码即可。

进入mysql命令行后,需要创建远程用户并设置权限。

use mysql;CREATE USER 'username'@'%' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
这样,已经可以用username 和 password 来访问 mysql server了。

3.数据库操作

假设mysql中已经有了数据表tb_lian1

create table tb_lian1(id int(11) primary key,name varchar(22) NOT NULL,location varchar(50));

ubuntu上的Python连接代码:
import MySQLdb,systry:    conn = MySQLdb.connect(host='XXXXX',port=3306,user='username',passwd='password',db='test')    conn.autocommit(1)    cur=conn.cursor()    cur.execute("insert into tb_lian1 (id,name,location values(1,'xiaoming','China'))")    cur.close()    conn.close()except Exception, e:    print e    sys.exit(0)
这时,已经有记录插入进表中了。

转载地址:http://nbdii.baihongyu.com/

你可能感兴趣的文章
SSM-CRUD (3)---查询功能改造
查看>>
Nginx(2)---安装与启动
查看>>
springBoot(5)---整合servlet、Filter、Listener
查看>>
C++ 模板类型参数
查看>>
C++ 非类型模版参数
查看>>
设计模式 依赖倒转原则 & 里氏代换原则
查看>>
DirectX11 光照
查看>>
图形学 图形渲染管线
查看>>
DirectX11 计时和动画
查看>>
DirectX11 光照与材质的相互作用
查看>>
DirectX11 法线向量
查看>>
DirectX11 兰伯特余弦定理(Lambert)
查看>>
DirectX11 漫反射光
查看>>
DirectX11 环境光
查看>>
DirectX11 镜面光
查看>>
DirectX11 三种光照组成对比
查看>>
DirectX11 指定材质
查看>>
DirectX11 平行光
查看>>
DirectX11 点光
查看>>
DirectX11 聚光灯
查看>>