MySQL常用工具总结

MySQL常用工具总结 - mysql -P:指定端口 [mysqld] port=端口号 -e:在终端执行SQL,不用登录,主要用于一些脚本程序 mysql -uroot -p1234 -h127.0.0.1 -P3306 -e"select * from user" db1 - mysqladmin 执行管理操作的工具 # 用法 mysqladmin [OPTIONS] command command.... # 创建库 mysqladmin -uroot -p1234 create db2 # 删除库 mysqladmin -uroot -p1234 drop db2 # 修改密码 mysqladmin -uroot -p1234 password 5678 # 查看更多用法 mysqladmin --help - mysqlshow 客户端对象查看工具 –count:统计 -i:详细信息 mysqlshow -uroot -p1234 [OPTIONS] [database [table [column]]] - mysqldump -B, –databases:备份多个数据库 -A, –all-databases:备份所有数据库 –add-drop-database:创建库之前,增加删除库语句...

MySQL常用工具总结

SQLAlchemy快速上手

SQLAlchemy 演示插入数据代码 import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column,Integer,String from sqlalchemy.orm import sessionmaker #创建对象的基类: Base = declarative_base() #定义User对象: class User(Base): #表的名字: __tablename__ = 'user' #表的结构: userid = Column(Integer,primary_key=True) username = Column(String(20)) age = Column(Integer) department = Column(String(20)) #初始化数据库连接 engine = create_engine("mysql+pymysql://kang:[email protected]/test",encoding="utf-8",echo=True) #创建session类型 DBSession = sessionmaker(bind=engine) #创建session对象 session = DBSession() #创建新的user对象 new_user1 = User(username='CC',age=25,department='IT') new_user2 = User(username="LILI",age=30,department='HR') new_user3 = User(username='JOHN',age=22,department='IT') #添加单条数据(添加数据,但还没有提交,出错还可以使用rollback撤回操作) new_user = User(name='lily') #session....

SQLAlchemy快速上手

MongoDB:副本集读写分离搭建

背景知识 副本集(Replica Set,replSet,复制集)具有自动故障恢复的功能。主从集群和副本集最大的区别就是副本集没有固定的主节点,整个集群会选出一个主节点,当其挂掉后,会在剩下的副节点中选中一个作为主节点,副本集中总有一个活跃节点(primary)和多个备份节点(secondary)。 MongoDB官方已经不建议使用主从模式,代替的方案是采用副本集的模式。 主从模式 其实就是一个单副本的应用,没有很好的扩展性和容错性,而MongoDB副本集具有多个副本保证了容错性,即使一个副本挂掉了还有多个副本存在,主节点挂掉后,整个集群内会实现自动切换 副本集工作原理 客户端连接到整个MongoDB副本集,不关心具体哪一台节点是否挂掉。主节点负责整个副本集的读写,副本集定期同步数据备份,一旦主节点挂掉,副节点就会选举一个新的主节点,而这一切对于应用服务器不需要任何关心。 副本集中副节点在主节点挂掉后通过心跳机制检测到后,就会在副本集内发起主节点的选举机制,自动选举一位新的主节点。 官方推荐的MongoDB副本集机器数量为至少 3 个,即:一主两副 环境准备 因为主机数量有限,这里只用两个副本集部署演示,两台主机:Centos ip地址 主机名 角色 192.168.198.140 mongo-master 副本集主节点 192.168.198.142 mongo-slave 副本集副节点 关闭防火墙: systemctl stop firewalld systemctl disable firewalld 安装MongoDB 安装 wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.8.tgz tar -zvxf mongodb-linux-x86_64-rhel70-4.2.8.tgz mv mongodb-linux-x86_64-rhel70-4.2.8 /usr/local/mongodb cd /usr/local/mongodb mkdir conf data logs touch conf/mongodb.conf touch logs/mongodb.log mkdir -p data/db 编写MongoDB配置文件mongodb.conf #数据存储路径 dbpath=/usr/local/mongodb/data/db #日志存储文件 logpath=/usr/local/mongodb/logs/mongodb.log #运行端口 port= 27017 #守护进程的方式运行MongoDB,创建服务器进程 fork=true #使用追加的方式写日志 logappend=true # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP bind_ip= 192 .168.198. #使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集 replSet=repset 启动 [root@mongo-master mongodb]# ....

MongoDB:副本集读写分离搭建

MongoDB笔记:基本介绍

MongoDB笔记:基本介绍 简介: MongoDB 是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品。 跟关系型数据库的一些概念对比 SQL术语/概念 MongoDB术语/概念 说明 database database 数据库 table collection 表/集合 row document 行/文档 column field 字段/域 index index 索引 内存管理 MongoDB使用的是内存映射存储引擎,把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,内存中主要存储索引+热数据,Mongodb没有单独的内存管理机制,跟随当前的操作系统的内存管理。 Python操作Mongodb 主流的操作mongodb模块 pymongo 安装 pip install pymongo 创建连接对象 from pymongo import MongoClient class MongoDBClient(object): def __new__(cls): if not hasattr(cls, 'instance'): cls.instance = super(MongoDBClient, cls).__new__(cls) return cls.instance def __init__(self): self.params = { 'host': 'localhost', 'port': 27017, 'connect': False, 'maxPoolSize': 2000, "authSource": 'workbench', # 验证数据库 "username": 'cnns', # 用户名 "password": '密码' # 密码 } self....

MongoDB笔记:基本介绍

Alembic数据库迁移工具使用

背景 在很多时候,在我们设计好模型之后,又需要进行一定的改变和更新数据操作;最直接的方式就是删除原来的旧表,但我们之前的数据也会删除;究其原因是我们不能精确记住每个修改和对应DDL,这时候就需要数据库迁移框架了。 对于Django ,框架内部就集成了数据库迁移模块,我们可以很方便使用 回顾Django迁移命令: 基本语法: python manage.py xx [app_name] xx如下: migrate,负责应用和撤销迁移。 makemigrations,基于模型的修改创建迁移。 sqlmigrate,展示迁移使用的 SQL 语句。 showmigrations,列出项目的迁移和迁移的状态。 Django迁移过程分为3步走: 1:修改models数据模型 2:生成迁移文件(在migrations/文件夹下)python manage.py makemigrations 3:向数据库执行迁移操作:python manage.py migrate 总结,迁移数据库的主要思路: 1:修改数据模型 2:生成新迁移文件 3:执行迁移 那么在Flask + SQLAlchemy下,如何选择数据库管理迁移工具? Alembic介绍 Alembic是Sqlalchemy的作者就已经实现的一个数据库版本化管理工具: Alembic来帮助我们实现数据库的迁移,数据库迁移工具可以在不破坏数据的情况下更新数据库表的结构。蒸馏器(Alembic)是炼金术士最重要的工具,要学习SQL炼金术(SQLAlchemy),当然要掌握蒸馏器的使用。 Alembic 是一个处理数据库更改的工具,它利用 SQLAlchemy 来实现形成迁移。因为 SQLAlchemy 只会在我们使用时根据 metadata create_all 方法来创建缺少的表 ,它不会根据我们对代码的修改而更新数据库表中的列。它也不会自动帮助我们删除表。 Alembic 提供了一种更新 / 删除表,更改列名和添加新约束的方法。因为 Alembic 使用 SQLAlchemy 执行迁移,它们可用于各种后端数据库。 快速上手 # 安装alembic pip install alembic # 初次使用时,需要初始化,创建迁移环境和 alembic.ini 文件、env.py文件 alembic init migrations # 修改alembic.ini配置,改变 sqlalchemy.url 值,配置数据库连接。 sqlalchemy....

Alembic数据库迁移工具使用