数据库脚本

MySQL主从复制与读写分离

喜夏-厌秋 提交于 2019-11-27 06:21:46
MySQL 主从复制与读写分离 MySQL 主从复制 (Master-Slave) 与读写分离 (MySQL-Proxy) 实践 Mysql 作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台 Mysql 作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。 因此,一般来说都是通过 主从复制( Master-Slave )的方式来同步数据,再通过读写分离( MySQL-Proxy )来提升数据库的并发负载能力 这样的方案来进行部署与实施的。 如下图所示: 下面是我在实际工作过程中所整理的笔记,在此分享出来,以供大家参考。 一、 MySQL 的安装与配置 具体的安装过程,建议参考我的这一篇文章: http://heylinux.com/archives/993.html 值得一提的是,我的安装过程都是源码包编译安装的,并且所有的配置与数据等都统一规划到了 /opt/mysql 目录中,因此在一台服务器上安装完成以后,可以将整个 mysql 目录打包,然后传到其它服务器上解包,便可立即使用。 二、 MySQL 主从复制 场景描述: 主数据库服务器: 192.168.10.130 , MySQL 已经安装,并且无应用数据。 从数据库服务器: 192.168.10.131 , MySQL 已经安装

php面试题之五——PHP综合应用(高级部分)

▼魔方 西西 提交于 2019-11-27 05:37:53
文章转载自: http://www.pythonheidong.com/blog/article/2117/ 五、PHP综合应用 1.写出下列服务的用途和默认端口(新浪网技术部) ftp、ssh、http、telnet、https ftp:File Transfer Protocol,文件传输协议,是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输,其默认端口是21。 ssh:Secure Shell,安全外壳协议,建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,其默端口是22。 http:hypertext transport protocol,超文本传送协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议,其默认端口是80。 telnet:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力,其默认端口是23。 https:Hypertext Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,用于安全的HTTP数据传输,它的主要作用可以分为两种: 一种是建立一个信息安全通道,来保证数据传输的安全;

最详细LInux运维面试题目

不问归期 提交于 2019-11-26 20:40:58
不 管 你 才 踏 出 社 会 ,还 是 已 久 经 沙 场 , 请 相 信 ,这 个 世 界 上 ,岁 月 对 每 个 人 都 是 公 平 的 , 1 天 都 是 24 个 小 时 ,一 分 钟 都 是 6 0 秒 。也 许 你 要 花 久 一 点 的 时 间 才 能 找 到 你 真 正 想 做 的 事 情 ,也 许 你 要 花 长 一 点 的 时 间 才 能 改 变 现 在 的 状 况 ,但 是 不 管 早 还 是 晚 ,请 你 一 定 要 出 发 ,不 管 是 早 还 是 晚 ,请 记 得 一 定 要努力去做、去改变!!! 十年杭漂,今撤霸都对了,号主还是《运维工程师进阶成神之路》系列文章的作者,文章从最基础的网络基础 开篇,涉及系统基础、新手必备命令与 Shell 脚本编写、Linux 服务部署与配置、面试题 讲解;再到提高篇:MySQL 数据库、企业生产项目实战案例、云计算、Docker 容器、虚 拟化技术、企业架构实战;最后还提高一些实际职场中的踩坑经验总。总结成一句话:干 货满满的,无论开发、运维、测试都值得学习一波 。 关注“民工哥技术之路”回复“成神之路”可获最新版本 此系列 Github 地址: https://github.com/mingongge/BestOPS 关注民工哥技术之路回复“备份”获取生产数据备份方案 看了这么多民工哥技术之路的文章之后

一劳永逸的数据库升级方案

怎甘沉沦 提交于 2019-11-26 20:36:35
数据库升级方案 一、面临的问题 在项目中数据库升级是经常遇到的事情,这个工作比较繁琐,特别是在线数据库升级需要十分小心,我们先来看一下通常面临的问题: 1、 表修改,包括增加了字段、修改了字段类型或者长度,更换了主键等。对于表的升级不能删除重建,需要单独修改,或者写脚本来升级。 2、 视图的修改,视图的修改比较简单,无非是增加了字段,取消了字段,不影响基础数据。视图的升级可以删除重建。 3、 存储过程的修改,存储过程的修改和视图一样,可以删除重建,二者都可以通过脚本来完成。 4、 函数的修改,如果项目中用到了函数,函数的升级和存储过程一样,不再赘述。 5、 上述情况基本能涵盖了大部分的数据库升级的情景,这些工作可以在数据库管理工具中完成,也可编写脚本来完成。我想说的问题并不是这个,而是有时候我们不知道那个表,那个字段修改了,除非你每改一个地方都做好记录,尽管如此,在升级的时候也难免落下。 我们公司有一套开发平台、由此平台开发了一套进销存,一套oa系统,而进销存又延伸出两套行业版进销存:鞋服通和医药通,以上产品有兴趣的可以去官网 www.hfbpm.com 试用,产品线如下图: 数据库和基础功能都是继承的,即进销存使用开发平台中的表,医药通和鞋服通使用通用进销存中的表,oa使用开发平台中的表,那么它们之间的数据库升级就非常频繁,刚开靠手工记录改动的地方,针对性的升级

数据库版本管理工具Flyway——基础篇

血红的双手。 提交于 2019-11-26 11:26:31
api:http://flywaydb.org/getstarted/firststeps/api.html 1. 引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的一种解决方案,当时各个环境的数据库乱作一团,没有任何一个人(开发、测试、维护人员)能够讲清楚当前环境下的数据库是哪个版本,与哪个版本的应用相匹配,如何升级到与新版本的应用相匹配。 想到管理数据库版本时,先是心底形成了一个初步的解决方案,大致是通过数据库中的某张表来记录数据库表结构的历次更新与对应版本,在每次数据库表结构调整时除了提供库表更新sql ,还必须提供更新记录与对应版本的sql,以帮助维护数据库版本信息,并在遇到问题时提供相关的排查依据。 后来据此思路在网络上搜索了一把,结果搜到Liquibase (另一款开源数据库版本管理工具)。在学习了解Liquibase 的时候,经高手介绍又了解到了Flyway 这个项目的存在。经过一番了解,最后我们选择了Flyway ,主要原因是Flyway 支持sql 脚本,而Liquibase 只支持XML 方式的数据库表结构定义,虽然在新的版本中号称在XML的数据库表结构定义方式中支持了sql 脚本。 虽然Flyway 的中文文档近乎为零,英文文档也凤毛麟角,但它却是我们最理想的数据库版本管理工具,它不但支持sql 脚本,还支持Java 代码直接操作数据库

shell脚本备份mysql数据库

点点圈 提交于 2019-11-25 21:35:30
https://github.com/aminglinux/shell20 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份,具体要求如下: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:database_name-2018-11-11.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如本机可以直接通过rsync命令同步,同步目标地址为rsync://10.10.20.100/mysqlbak/ 7)远程备份数据要求保留1个月 拿到需求后,我们不应该马上就动手,而是应该先分析需求点,准备好储备知识。如果你没有足够的储备知识,无论脚本语法掌握的多么熟练,这个脚本也是不能完成的。本脚本的核心知识点是如何备份所有的库。 知识点一:MySQL数据库备份 假设已知备份数据的用户为backup,密码为34KpmyzUq,要备份的5个数据库分别为db1-db5。 备份数据库的命令为: mysqldump -ubackup -p34KpmyzUq db1 > db1.sql 如果是远程的MySQL服务,还可以加上IP和Port,例如: mysqldump -ubackup -p34KpmyzUq -h192.168

完全Oracle安装建库手册

自作多情 提交于 2019-11-25 20:22:26
Oracle12C R2 for Centos 7 背景介绍 安装配置这东西吧,真没啥可写的,但是你说不写详细点吧,真的好多学员搞不懂,所以呢,熊熊思前想后,打算把自己从头到尾怎么安装的,完全写一下,希望能让大家有个全面的基础认知 准备工作 安装Xmanager 这个软件功能很强大,熊熊安装他主要是用于把远程服务器的屏幕共享到本地桌面上 软件在官网或者很多地方都有下载,这里就不详细给出链接地址了(也许后期熊熊会把所有需要的软件都放在百度云盘上,谁知道呢) 双击Xmanager安装程序,在欢迎页面点击下一步继续 必须接受许可协议,下一步继续 主要是输入产品密钥(网上有很多,能找到,也有专门的注册机),点击下一步继续 安装路径可以根据自己实际情况,下一步继续 典型安装就够了,下一步继续 开始菜单里的程序文件夹,这个默认即可,下一步继续 选择中文语言,点击安装 安装完成 下载安装包 说在前面:其实,对于绝对的新手来讲,强烈建议下载一个OEL7.6安装最踏实,因为里面对Oracle内核有优化,该有的包和参数也都提前给设置好了,省心 https://edelivery.oracle.com/osdc/faces/SoftwareDelivery #! 下载链接在这里,需要注册一个Oracle官网用户并登陆,通常选择第七个包,就是最后一个即可,如果不用OEL,就自己下载Centos 7