暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【软件自动化测试】配置MySQL

松勤软件学院 2017-11-22
224

点击上方"松勤软件学院"关注我们


安装MySQL

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文件就不会出错了!

引申出两个问题:

  1. 如何使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;

  2. 如果通过远程来访问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():关闭数据库连接;

教育领先品牌
打造中国互联网
专注IT在线教育
以工匠精神
愿景
松勤软件

松勤网:www.songqinnet.com

微信公众号:松勤软件学院

软件测试交流QQ群:64207188

软件自动化测试QQ群:398140461

软件性能测试交流QQ群:348074292

文章转载自松勤软件学院,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论