python连接mysql

ubuntu14.04 LTS下Atlas2.2安装说明

落爺英雄遲暮 提交于 2019-11-30 11:07:13
准备工作 本文档是在ubuntu14.04下安装 2.2版本的atlas 。 官方文档很重要,请熟读。 wiki地址: https://github.com/Qihoo360/Atlas/wiki QQ 群:326544838(可以加此群进行咨询) 1. 所用软件: Ubuntu14.04 LTS版 2. 使用服务器地址:192.168.1.244 3. ubuntu14.04 对应的 安装 文件选择 Atlas-2.2-debian7.0-x86_64.deb 4. 主库为192.168.1.160,从库为192.168.1.116,192.168.1.149,192.168.236 2 Atlas 的整体架构 Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。 Atlas 是一个位于应用程序与MySQL之间中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节

数据库中间件详解 | 珍藏版

天涯浪子 提交于 2019-11-30 10:05:26
1 数据库拆分过程及挑战 互联网当下的数据库拆分过程基本遵循的顺序是:垂直拆分、读写分离、分库分表(水平拆分)。每个拆分过程都能解决业务上的一些问题,但同时也面临了一些挑战。 1.1 垂直拆分 对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量也相对较小,所以此时企业一般都会选择将所有数据存放在一个数据库 中进行访问操作。举例来说,对于一个电商系统,其用户模块和产品模块的表刚开始都是位于一个库中。 其中:user、user_account表属于用户模块,product_category、product表属于产品模块。 刚开始,可能公司的技术团队规模比较小,所有的数据都位于一个库中。随着公司业务的发展,技术团队人员也得到了扩张,划分为不同的技术小组,不同的小组负责不同的业务模块。例如A小组负责用户模块,B小组负责产品模块。此时数据库也迎来了第一次拆分:垂直拆分。 这里的垂直拆分,指的是将一个包含了很多表的数据库,根据表的功能的不同,拆分为多个小的数据库,每个库包含部分表。下图演示将上面提到的db_eshop库,拆分为db_user库和db_product库。 通常来说,垂直拆分,都是根据业务来对一个库中的表进行拆分的。关于垂直拆分,还有另一种说法,将一个包含了很多字段的大表拆分为多个小表,每个表包含部分字段,这种情况在实际开发中基本很少遇到。

Python 连接 MySQL

夙愿已清 提交于 2019-11-30 09:34:11
Python 连接 MySQL 安装MySQL驱动 pip insatll pymysql 操作数据库 import pymysql # 1.打开数据库连接(地址,账号,密码,数据库) conn = pymysql . connect ( 'localhost' , 'root' , '123456' , 'mydb' ) # 2.创建一个游标对象 cursor = conn . cursor ( ) # 3.插入一行记录,注意MySQL的占位符是%s cursor . execute ( 'insert into user (age, name, create_time, birthday) values (%s, %s, %s, %s)' , [ 21 , 'xiao' , '2019-11-25 15:33:59' , '2019-11-25' ] ) # 提交事务 conn . commit ( ) # 执行查询 cursor . execute ( 'select * from user' ) # 查询得到结果集 values = cursor . fetchall ( ) # 遍历结果集 for v in values : print ( '查询结果:' , v ) # 1.关闭游标 cursor . close ( ) # 2.关闭连接 conn . close (

数据库基础

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 06:36:01
数据库 MySQL初步 MySQL基础认知 (Oracle真的是走哪祸害到哪23333) Java多用MySQL和Oracle SQLServer也收费,但是还行,比Oracle便宜,一个差不多3w多 SQLite被嵌入到了安卓系统中,主要用于安卓开发,是完全免费的 关于MySQL收费的问题,这篇文章说的很透: 你使用开源软件并不受GPL约束,只有在你基于开源软件,修改开源软件的源码的时候才受 GPL约束。MySQL作为一个开源数据库,几乎所有的用户都只是通过自己的程序去操作这个数据库,不涉及到改动源码的问题,根本不用去考虑是否要遵循 GPL的问题。只有在你修改MySQL源码的情况下,才需要考虑GPL。 如果你只是使用MySQL而不是改写MySQL,那么在这些情况下你应该考虑购买Oracle的商业版本,一是Oracle的商用版本提供的附加组件(监控器、备份工具等)对你有价值,二是Oracle的年度技术支持是你需要的,三是各种潜规则。而不应该是你想合法的使用MySQL才去购买其商业版本。另外,如果你是基于MySQL的源码开发你自己的产品,那么你需要购买的是商业授权,而不是subscription这些商业版本。 除了以上情况,使用社区版就好 关闭服务需要使用管理员权限 服务器无法连接时,要检查服务是否正常开始了 登录MySQL: mysql -uroot -proot /

第一阶段:Python开发基础 day41 数据库基础知识

為{幸葍}努か 提交于 2019-11-30 06:27:51
数据库 """ 1、什么是数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件 2、存储数据的位置:内存、硬盘 3、什么是系统:运行在硬件基础上,管理其他软件 """ # 数据库的组成 """ 库:存放多张表 - 文件夹 表:包含多条相同结构的记录 - 文件 记录:包含多个key-value键值对的一条数据 - 二进制数据 字段:描述信息 - 信息本身 == key-value - 二进制数据 stu id name age gender 1 Bob 18 男 2 Tom 17 女 ... teacher ... """ 数据库的分类 # 1)关系与非关系 # 关系:数据库中表与表之间有联系 - mysql # 非关系:没有表概念 - redis、mongodb(介于关系与非关系) # 2)内存与硬盘 # 硬盘:数据可以永久存储 - mysql、mongodb # 内存:数据的存取效率极高 - redis、memcache # 3)sql与nosql # sql:数据库操作通过sql语句 # nosql:数据库操作就是key-value形式(value就是一条记录) # stu - {'name': 'Bob', 'age': 18} # stus - [{'name': 'Bob', 'age': 18}, {'name': 'Tom', 'age':

MySQL授权

旧巷老猫 提交于 2019-11-30 02:38:00
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" Sql代码 复制代码 1. mysql -u root -pvmwaremysql>use mysql; 2. mysql>update user set host = '%' where user = 'root'; 3. mysql>select host, user from user; 2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 Sql代码 复制代码 1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 2.FLUSH PRIVILEGES; 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 Sql代码 复制代码 1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 2.

MySQL数据库初识

非 Y 不嫁゛ 提交于 2019-11-30 02:13:01
一 数据库概述 1. 数据库???   什么是数据库呢?   先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。   百度的貌似不好理解啊,让我说啊,数据库是存储数据的地方,超哥,你这不是废话么?这位同学,你你你你你说的对,哈哈,存数据的地方是存在哪里呢,存在硬盘上,为什么不是存在内存里面,因为内存无法永久保存。之前我们存数据都是使用的文件,在一个word文档里面写一些羞羞的网址,然后保存,就存储到硬盘上了。有同学就会说了,超哥,我这通过文件不是也将数据保存上了吗?是的,没毛病,但是你想,通过文件来操作数据,效率是不是很低,首先打开关闭就比较慢,其次是我们操作起来也比较麻烦,对不对,如果我想记录一条关于我个人信息的数据,我使用文档来存,是不是很不友好,并且我们要查数据的时候,看图1:图1是一个word里面记录的信息,如果我想查询出所有人的名字,这个操作是不是就很难搞定了,来来来,配合起来~~,你应该说是的,那我就接着说,有同学可能就会说了,老师我用excel啊,看图2,一列就搞定了,没毛病,但是你想打开操作excel效率低不低。并且通过你自己写的程序来操作这些文件是不是很麻烦

mysql的安装、启动和基础配置 —— windows版本

穿精又带淫゛_ 提交于 2019-11-29 21:34:18
阅读目录   楔子   初识数据库   为什么要用数据库   认识数据库   初识mysql   mysql概念   下载和安装   初识sql语句 楔子   假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写?   由于在同一时段抢票的人数太多,所以你的程序不可能写在一台机器上,应该是多台机器一起分担用户的购票请求。   那么问题就来了,票务信息的数据存在哪里?存在文件里么?   如果存储在文件里,那么存储在哪一台机器上呢?是每台机器上都存储一份么?   首先,如果其中一台机器上卖出的票另外两台机器是感知不到的,   其次,是如果我们将数据和程序放在同一个机器上,如果程序和数据有一个出了问题都会导致整个服务不可用   最后,是操作文件,修改文件对python代码来说是一件很麻烦的事   基于上面这些问题,单纯的将数据存储在和程序同一台机器上的文件中是非常不明智的。    初识数据库 返回顶部 为什要用数据库   根据上面的例子,我们已经知道:   第一,将文件和程序存在一台机器上是很不合理的。   第二,操作文件是一件很麻烦的事 所以就出现了一个新的概念 —— 数据库   你可以理解为 数据库 是一个可以在一台机器上独立工作的,并且可以给我们提供高效、便捷的方式对数据进行增删改查的一种工具。  

mysql与sqlalchemy ORM

人盡茶涼 提交于 2019-11-29 16:57:33
ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,而不用直接使用sql语言。 orm的优点: 隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库交互变得简单易行,并且完全不用考虑该死的SQL语句。快速开发,由此而来。 ORM使我们构造固化数据结构变得简单易行。 缺点: 无可避免的,自动化意味着映射和关联管理,代价是牺牲性能(早期,这是所有不喜欢ORM人的共同点)。现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。 2. sqlalchemy安装 在Python中,最有名的ORM框架是SQLAlchemy。用户包括openstack\Dropbox等知名公司或应用,主要用户列表http://www.sqlalchemy.org/organizations.html

MySQL

六月ゝ 毕业季﹏ 提交于 2019-11-29 16:41:07
MySQL MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 在本教程中,会让大家快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。 RDBMS 术语 在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语: 数据库: 数据库是一些关联表的集合。 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。 行: 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余 :存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键 :主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 外键: 外键用于关联两个表。 复合键 :复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引: 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。 MySQL 为关系型数据库