数据库服务器

SQL Server 复制:事务发布

北城余情 提交于 2020-01-04 22:44:05
一、 背景   在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取到这些数据,作为DBA你需要从权限和性能控制的角度出发,我采用了SQL Server的事务复制技术和timestamp,下面只讲述事务复制的搭建过程; 二、 实现过程 (一) 环境信息 系统环境:Windows Server 2008 + SQL Server 2008 R2 发布服务器:192.168.1.151,服务器名称:USER-H2B2A89PEK 分发服务器:与发布服务器同一台机器 订阅服务器:192.168.1.152,服务器名称:USER-FJMO8L052U 发布数据库:Task 订阅数据库:TaskSiteInfo 数据库帐号:ReplicationUser/ ReplicationPassword (二) 搭建步骤 A. 发布服务器配置   首先在发布数据库和订阅数据库上创建相同的帐号和密码(ReplicationUser/ ReplicationPassword),并且设置Task数据库的安全对象,设置这样的帐号的目的就是为了和程序连接到数据库的帐号区分开,可以做权限上的控制,方便问题的排查; --更改安全对象的所有权 ALTER AUTHORIZATION

数据库中间件:CentOS7下MySQL主从Master-Slaves同步配置(一)

限于喜欢 提交于 2020-01-04 09:41:46
CentOS7下MySQL主从Master-Slaves同步配置 环境说明 Centos版本: CentOS Linux release 7.7.1908 (Core) Linux连接工具:SecureCRT MySQL Version: 5.7.28 主库主机地址:192.168.163.61 从库主机地址:192.168.163.62 参考文档:https://dev.mysql.com/doc/refman/5.7/en/replication.html 为什么要做主从同步 主从配置原理 配置主从同步 1.1 配置主服务器 修改主服务器配置文件/etc/my.cnf #启用二进制日志记录 :主服务器基于二进制日志文件位置的复制 log-bin=mysql-bin #每个服务器必须配置有唯一的服务器ID,实战中,通常配置为IP的最后一个数字 server-id=61 #指定可以主从同步的数据库,多数据库要配置多行 binlog-do-db=db_consumer binlog-ignore-db=information_schema binlog-ignore-db=mysql binlog-ignore-db=orders binlog-ignore-db=performance_schema binlog-ignore-db=sys 重启MySQL服务 [ root

mysql load data

為{幸葍}努か 提交于 2020-01-03 03:41:22
转自: http://leepiao.blog.163.com/blog/static/48503130200961305629218/ LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY '\t'] [OPTIONALLY] ENCLOSED BY ''] [ESCAPED BY '\\' ]] [LINES TERMINATED BY '\n'] [IGNORE number LINES] [(col_name,...)] LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。 如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上 。(LOCAL在MySQL3.22.6或以后版本中可用。) 为了 安全 原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用LOAD DATA INFILE,在服务器主机上你必须有file的权限。见6.5 由MySQL提供的权限。 如果你指定关键词LOW_PRIORITY,LOAD DATA语句的执行被推迟到没有其他客户读取表后。

Django面试题(附带答案)

南楼画角 提交于 2020-01-03 00:01:45
总结的一些Django中会问的问题,希望对你们有用。 1、 Django的生命周期 当用户在浏览器输入url时,浏览器会生成请求头和请求体发送给服务端,url经过Django中的wsgi时请求对象创建完成,经过django的中间件,然后到路由系统匹配路由,匹配成功后走到相对应的views函数,视图函数执行相关的逻辑代码返回执行结果,Django把客户端想要的数据作为一个字符串返回给客户端,客户端接收数据,渲染到页面展现给用户 2、 内置组件 Admin、from、modelfrom、model 3、 缓存方案 设置缓存到内存 缓存到redis,配置redis CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://39.96.61.39:6379", 'PASSWORD':'19990104.Yu', "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } 单个view缓存 视图导入from django.views.decorators.cache import cache_page 在需要进行缓存的视图函数上添加如下装饰器即可: @cache_page(60 * 2)

SQL SERVER发布与订阅

此生再无相见时 提交于 2020-01-02 05:57:00
1、发布与订阅 用强制订阅实现数据库同步操作 大量和批量的数据可以用数据库的同步机制处理: // 说明: 发布服务器(分发)操作,订阅服务器(订阅)操作 在客户机器使用强制订阅方式。 测试通过 // --1:环境 服务器环境( 发布): 机器名称: devserver 操作系统:Windows 2003 Server 数据库版本:SQL 2005 Server 企业版 客户端 (订阅): 机器名称:pkit-bingxu 操作系统:Windows 2003 Server 数据库版本:SQL 2005 Server 企业版 --2:建用户帐号 在服务器端建立域用户帐号 我的电脑管理->本地用户和组->用户->建立 UserName:dbrepluser UserPwd:dbrepluser 隶属于:SQLServer2005MSSQLUser$devserver$MSSQLSERVER SQLServer2005MSSQLAgentUser$devserver$MSSQLSERVER --3:重新启动服务器MSSQLServer 我的电脑->控制面版->管理工具->服务->MSSQLServer 服务 (更改为:域用户帐号,我们新建的dbrepluser用户 .\dbrepluser,密码:dbrepluser) 在发布服务器和订阅服务器上互相注册 企业管理器 --右键SQL

Redis主从同步、哨兵、集群

拜拜、爱过 提交于 2020-01-02 00:02:32
什么是主从同步(复制) 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 主从复制的作用 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。 读写分离:可以用于实现读写分离,主库写、从库读,读写分离不仅可以提高服务器的负载能力,同时可根据需求的变化,改变从库的数量; 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。 Redis之主从同步的实现原理 1.当从库和主库建立ms(master和slave)关系后,会向主库发送sync命令。 2.收到SYNC命令的主服务器执行BGSAVE命令

mysql my.ini 详解

有些话、适合烂在心里 提交于 2020-01-01 13:18:41
linux下mysql配置文件my.cnf详解【转】 basedir = path 使用给定目录作为根目录(安装目录)。 character-sets-dir = path 给出存放着字符集的目录。 datadir = path 从给定目录读取数据库文件。 pid-file = filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。 socket = filename 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/mysql.sock文件)。在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信 的,–sock选项给出的将是该命名管道的名字(默认设置是MySQL)。 lower_case_table_name = 1/0 新目录和数据表的名字是否只允许使用小写字母; 这个选项在Windows环境下的默认设置是1(只允许使用小写字母)。 mysqld程序:语言设置 character-sets-server = name 新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以用–default-character-set选项给出;

如何配置MySQL数据库主从复制

老子叫甜甜 提交于 2020-01-01 03:53:11
MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维 护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那 时起发生的任何更新,然后封锁并等待主服务器通知下一次更新。 为什么使用主从复制? 1、主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器作为备份。 2、通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间。但是不要同时在主从服务器上进行更新,这样可能引起冲突。 3、使用复制的另一个好处是可以使用一个从服务器执行备份,而不会干扰主服务器。在备份过程中主服务器可以继续处理更新。 MySQL使用3个线程来执行复制功能(其中1个在主服务器上,另两个在从服务器上。当发出START SLAVE时,从服务器创建一个I/O线程,以连接主服务器并让主服务器发送二进制日志。主服务器创建一个线程将二进制日志中的内容发送到从服务器。从服 务器I/O线程读取主服务器Binlog Dump线程发送的内容并将该数据拷贝到从服务器数据目录中的本地文件中,即中继日志。第3个线程是SQL线程,从服务器使用此线程读取中继日志并执行日 志中包含的更新。SHOW

Mysql主从同步 读写分离

别说谁变了你拦得住时间么 提交于 2020-01-01 03:41:24
Mysql 主从 同步 读写 分离 目录 一. 概述 4 二. 实验目的 4 三. 试验环境 4 四. 方案 说明 4 五.Mysql 主从同步配置 5 1. 安装与初始化数据库 5 2. 主从服务器均授予 MySQL 远程登录权限。 5 3. 主从同步配置 5 六.Amoeba 读写分离配置 13 1. Amoeba 下载安装 13 2. 安装 Java 13 3. 修改 amoeba 的配置文件 amoeba.xml 和 dbServers.xml 的配置。 14 4. 启动 amoeba 进行测试。 20 七.读写分离测试。 21 1. 写测试 21 2. 读测试 24 一. 概述 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、 读写分离 、高可用性等需求。与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单)。 二. 实验目的 实际的生产环境中,由单台 Mysql 作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。通过主从同步( Master-Slave

mysql主从复制-linux版本

依然范特西╮ 提交于 2020-01-01 03:22:26
来自:http://www.osyunwei.com/archives/7269.html,改版 mysql主从复制 本文采用的是 centos6.5+mysql-5.6.23版本 之前在 windows7安装过主从复制,现在在linux实现主从复制 mysql安装方法: http://www.cnblogs.com/lin3615/p/4376224.html 配置: 配置MySQL主服务器(192.168.179.142) 从服务器两台(192.168.179.146,192.168.179.147) 数据库就以 test为例, // 从这里开始配置第一台从服务器 #建立一个MySQL主从数据库同步用户 lin3615,密码123456,并授予给192.168.179.146 登陆数据库,进入控制台 insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values('%','lin3615',password('123456'),'','',''); #刷新系统授权表 flush privileges; #授权用户lin3615 只能从 192.168.179.146 这个IP访问主服务器192.168.179.142上面的数据库 grant replication