1.安装MySQLdb
MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。
安装Windows版本
下载网站 https://pypi.python.org/pypi/MySQL-python/1.2.5
直接安装
cmd
import MySQLdb
如果报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb
解决:把刚安装的exe文件,添加到环境变量里去。linux版本
yum install –y python-devel
yum install –y mysql-devel
yum install –y gcc
unzip MySQL-python-1.2.5.zip
cd MySQL-python-1.2.5
python setup.py build
python setup.py install
python
>>import MySQLdb
mysql权限设置:
mysql
create database python;
grant all privileges on *.* zK'@'%' identified by '1234567';
flush privileges;
解释:
Mysql命令进入mysql数据库,create用来创建库名python,grant 进行授权,授权zk用户对所有的服务器,所有的库,所有的表都有权限,密码1234567。
2.数据库连接
连接数据库import MySQLdb
conn=MySQLdb.connect(host="192.168.1.110",user="root",passwd="123456",db="python",charset="utf-8")
比较常用的参数包括:
host:数据库主机名.默认是用本地主机
user:数据库登陆名.默认是当前用户
passwd:数据库登陆的秘密.默认为空
db:要使用的数据库名.没有默认值
port:MySQL服务使用的TCP端口.默认是3306,数字类型
charset:数据库编码
为了我们代码的规范,我更加推荐把所有数据库的配置写在一个字典中
def connect_mysql():
db_config = {
'host': '192.168.1.110',
'port': 3306,
'user': 'root',
'passwd': '123456',
'db': 'python',
'charset': 'utf8'
}
try:
cnx = MySQLdb.connect(**db_config)
except Exception as e:
raise e
return cnx
如果数据库有协议,我们只需要改动db_config字典中的内容就可以了。