目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

存档: 2021 年 05 月 (19)

主从复制

架构 依赖于二进制日志,“实时”备份的一个多节点架构。 主从复制的前提(搭建主从复制),至少2个实例 1.不同的server_id(区别主从) 2.主库要开启二进制日志功能,从库不开(有些特殊情况下也可以开) 3.主库需要开启二进制日志 4.主库需要授权一个专用复制用户 5.主库数据备份 6.开启专用复制线程 准备架构 端口作用 3307主 3308从 3309从 5.5 MySQL 多实例 5.5.1 创建目录 mkdir -p /data/330{7,8,9}/data 5.5.2 准备配置文件 cat > /data/3307/my.cnf <<EOF [mysqld] basedir=/application/mysql datadir=/data/3307/data socket=/data/3307/mysql.sock log_error=/data/3307/mysql.log port=3307 server_id=7 log_bin=/data/3307/mysql-bin EOF cat > /data/3308/my.cnf....

备份恢复与数据迁移

DBA在数据库备份恢复方面的职责 全备 增量 定期恢复演练 故障恢复 迁移(停机时间、回退方案) 备份类型 热备:在数据库正常业务时,备份数据,并且能够一致性恢复(只能是innodb) 稳备:锁表备份,只能查询修改,不能修改(myisam) 冷备:关闭数据库业务,数据库没有任何变更的情况下,进行备份数据。 备份方式及工具 逻辑备份:基于SQL语句进行备份 mysqldump mysqlbinlog 物理备份:基于磁盘数据文件备份 xtrabackup(XBK):percona 第三方(推荐使用) Mysql Enterprise Backup (MEB) 逻辑备份VS物理备份 mysqldump(MDP) # 优点 1.不需要下载安装 2.备份出来的是SQL,文本格式,可读性高,便于备份处理 3.压缩比较高,介绍备份的磁盘空间 # 缺点 1.依赖于数据库引擎,需要从磁盘把数据读出,然后转换成SQL进行存储,比较耗费资源,数据量大的话效率较低 2.100G以内的数据量级,可以使用mysqldump,也可以使用xtrabackup 3.超过TB以上,也可以选择mysq....

日志管理

错误日志 # 查看错误日志路径 mysql> select @@log_error; +----------------------------+ | @@log_error | +----------------------------+ | /data/mysql/data/mysql.log | +----------------------------+ 二进制日志 作用:用于即时点的数据恢复、主从复制 配置二进制日志(默认没有开启) # 日志要和数据分开存放 log_bin # 开关、设定存放位置 server_id # 5.6单机不需要此参数,5.7必须要加 [root@localhost ~]# mkdir /data/binlog -p [root@localhost ~]# chown -R mysql. /data/ [root@localhost ~]# vim /etc/my.cnf [mysqld] user=mysql basedir=/application/mysql datadir=/data/mysql/data socket=/tmp/my....

锁 锁定的意思,提供的是ACID中,I方面的功能。需要配合UnDO+隔离级别一起来实现 InnoDB锁级别:行级锁 Next LOCK GAP LOCK 悲观锁: 乐观锁: 需要排查锁的争用、锁等待、死锁 事务的隔离级别 影响到数据的读取,默认的级别是 RR模式. transaction_isolation 隔离级别(参数) 负责的是,MVCC,读一致性问题 RU : 读未提交,可脏读,一般部议叙出现 RC : 读已提交,可能出现幻读,可以防止脏读. RR : 可重复读,功能是防止"幻读"现象 ,利用的是undo的快照技术+GAP(间隙锁)+NextLock(下键锁) SR : 可串行化,可以防止死锁,但是并发事务性能较差 RR级别:解决了 不可重复读问题+幻读的现象 不可重复读问题是由 undo的快照技术来解决。 幻读现象是由:MVCC+GAP+next-lock来解决。 # 查看事务隔离级别 mysql> select @@tx_isolation; +-----------------+ | @@tx_isolation | +-----------------+ | RE....

InnoDB存储引擎

存储引擎的功能 数据读写 数据安全和一致性 提高性能 热备份 自动故障恢复 高可用方面支持 # 查看数据库支持的存储引擎 show engines; # 查看数据库下所有innodb的表 mysql> select table_schema,table_name ,engine from information_schema.tables 其他MySQL的引擎 PerconaDB:默认是XtraDB MariaDB:默认是InnoDB 其他的存储引擎支持: TokuDB RocksDB MyRocks 以上三种存储引擎的共同点:压缩比较高,数据插入性能极高 现在很多的NewSQL,使用比较多的功能特性. 核心特性 1、事务(Transaction) 2、MVCC(Multi-Version Concurrency Control多版本并发控制) 3、行级锁(Row-level Lock) 4、ACSR(Auto Crash Safey Recovery)自动的故障安全恢复 5、支持热备份(Hot Backup) 6、复制Replication: Group Commit , ....

Tomcat

架构图 主机ip nginx212 mysql210 tomcat1213 tomcat2211 安装JDK8 mkdir -p /usr/local/software cp jdk-8u201-linux-x64.tar.gz /usr/local/software/ cd /usr/local/software/ tar -zxvf jdk-8u201-linux-x64.tar.gz mv jdk1.8.0_201 jdk8 vim /etc/profile export JAVA_HOME=/usr/local/software/jdk8 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME PATH CLASSPATH source /etc/profile [root@localhost software]# java -version java version "1.8.0_201" ....

Nginx

Nginx1.1.6.0安装 # 下载 [root@localhost software]# wget https://nginx.org/download/nginx-1.16.0.tar.gz # 依赖 [root@localhost software]# yum install -y pcre pcre-devel openssl openssl-devel gcc gcc-c++ autoconf automake make # 编译安装步骤 [root@localhost software]# tar xf nginx-1.16.0.tar.gz [root@localhost software]# cd nginx-1.16.0 [root@localhost nginx-1.16.0]# useradd -s /sbin/nologin www -M [root@localhost ~]# mkdir /application [root@localhost nginx-1.16.0]# ./configure --user=www --group=www --prefi....