Open NBR-hugh opened 7 years ago
基本离了一下思路,大致方向如下:
http://stackoverflow.com/a/19769044/7560477 安装mysql,并连接到python,MySQLdb模块运行成功。
MySQL Tutorial - Learn MySQL Fast, Easy and Fun.
在google搜得这个教程,开始学习。这是windows平台针对GUI操作的教程,资料查找错误。
创建数据库主要参照Create MySQLdb database using Python script - Stack Overflow
踩的坑:
Can't connect to local MySQL server through socket'/tmp/mysql.sock' (2) - Stack Overflow
这个问题一直无法排除,脑袋又陷入死循环,重新进行梳理。
using password: YES
这里的判断是是否有输入密码,而非对密码正误的判断。
根据这个问题:
You probably have an anonymous user ''@'localhost' or ''@'127.0.0.1'. The recommended solution is to drop this anonymous user (this is usually a good thing to do anyways). 取消这样的匿名用户?如何去掉? 不如试着新建一个用户名
CREATE USER nbr IDENTIFIED BY 'password';
重建后依然不行,再观察发现自己命令输错,输错多了用户名就无效了,回到root用户名创建数据库就可以。需要在root用户名下,即管理员权限中对新的用户名进行授权,新的用户名才可以对数据库进行操作
根据一下资料,重新熟悉用户名添加删除,创建数据库,授权,更新的操作命令: Mysql 创建、删除用户 - fly1988happy - 博客园
nibirongdeMacBook-Pro:TagaDay NBR-hugh$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
mysql> drop user nbr;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER nbr IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
nibirongdeMacBook-Pro:TagaDay NBR-hugh$ mysql -u nbr -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
mysql> exit
Bye
nibirongdeMacBook-Pro:TagaDay NBR-hugh$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
mysql> grant all privileges on testDB.* to nbr@localhost identified by '1234';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
再运行python脚本测试,成功建立数据库链接,执行sql操作。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
class MySQLdb_operation(object):
def __init__(self):
pass
def Creat_table(self):
# 建立数据库连接
db = MySQLdb.connect(host="localhost",user="nbr",passwd="1234",db="testDB")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()
print "Database version : %s " % data
# 关闭数据库连接
db.close()
if __name__ == '__main__':
Op = MySQLdb_operation()
Op.Creat_table()
nibirongdeMacBook-Pro:TagaDay NBR-hugh$ python demo.py
Database version : 5.7.17
本次项目选取SAE为服务器,mySQL为服务器,web.py 为web框架。
参考资料如下:
python 操作MySQL数据库 | 菜鸟教程
简单而直接的Python web 框架:web.py - 开源中国社区
云应用 SAE - 云服务 - 云托管 - 新浪云
使用python一步一步搭建微信公众平台(五)----使用mysql服务来记录用户的反馈 - kevin的个人页面
Ch7 Py103微信群答疑(阿里云、有道云、SAE部署坑总结) · Issue #279 · AIMinder/Py103