
Pass

安装MySQL-Python驱动
如果使用Python2版本:安装MySQL-Python
如果使用Python3版本:安装PyMySQL
MySQL基本操作
show databases; # 查看当前数据库下面的所有库
use test; # 切换到test库
show tables; #查看test库下面所有表
show global variables like ‘port’; #查看MySQL端口号
CREATE DATABASE guest CHARACTER SET utf8; #创建guest数据库
ps:我们从开始新建Django项目的时候,就使用的是SQLite3数据库,并没有用MySQL进行过任何操作,这如果直接按代码执行,只会提示错误没有guest表,对啊,是没有啊,上面只是在基本操作里,新建了guest库,但是没有在guest库下新建表,所以在执行插入数据的代码之前,我们应该先新建两个表:sign_event、sign_guest




在这个过程中遇到一些问题:
我们安装了MySQL数据库后,虽然创建了guest数据库,但是并没有创建发布会表、嘉宾表,所以如果按书中直接执行此py文件,一定会报错,提示guest表不存在!!!
如何解决这个问题,很简单,参考之前models.py文件里的设置,先创建好两个数据表event、guest,再来执行这个py文件就不会出错了!
引申出两个问题:
如何使MySQL服务端不只是监听本地127.0.0.1这个地址?
这就需要修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,将其中的bind-address由127.0.0.1修改为0.0.0.0,重启MySQL服务即可/etc/init.d/mysql restart;
如果通过远程来访问MySQL服务端?
对MySQL实在不熟,发现用起来很多基础知识都不懂,查了好半天的资料才找到问题根本,原本以为在配置文件里修改各什么安全设置就能搞定,然而并不是这么回事,这是由于root用户在mysql数据库中存储的host字段的限制;
首先在本地登录MySQL数据库:mysql -u root -p,然后切换至mysql数据库:use mysql;,查看user表中root帐号的记录:select * from user where user=’root’;,可以发现host字段的值为localhost,这就是为什么远程主机无法使用root帐号来访问的原因了;
解决办法就是给host字段增加远程主机的IP:grant all privileges on *.* to root@”远程主机IP地址” identified by “root帐号对应的密码”;,这就相当于给远程IP赋予了所有的权限,包括远程访问的权限,然后输入:flush privileges;,这相当于是重新加载一下mysql权限;
至此,就又可以从本地访问也能从远程主机访问了。
pymysql里的几个重要函数:
connect():建立数据库连接;
cursor():获取数据库操作游标;
execute():执行SQL语句;
commit():提交数据库执行;
close():关闭数据库连接;





