mysql主从配置

PHP 高级面试115题汇总(含答案)

左心房为你撑大大i 提交于 2019-12-03 17:29:26
1、给你四个坐标点,判断它们能不能组成一个矩形,如判断 ([0,0],[0,1],[1,1],[1,0]) 能组成一个矩形。 勾股定理,矩形是对角线相等的四边形。只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。 2、写一段代码判断单向链表中有没有形成环,如果形成环,请找出环的入口处,即 P 点 1 /* 2 *单链表的结点类 3 */ 4 class LNode{ 5 //为了简化访问单链表,结点中的数据项的访问权限都设为public 6 public int data; 7 public LNode next; 8 } 9 10 class LinkListUtli { 11 //当单链表中没有环时返回null,有环时返回环的入口结点 12 public static LNode searchEntranceNode(LNode L) 13 { 14 LNode slow=L;//p表示从头结点开始每次往后走一步的指针 15 LNode fast=L;//q表示从头结点开始每次往后走两步的指针 16 while(fast !=null && fast.next !=null) 17 { 18 if(slow==fast) break;//p与q相等,单链表有环 19 slow=slow.next; 20 fast

MySql 5.7安装及配置主从

女生的网名这么多〃 提交于 2019-12-03 17:04:19
1.数据库安装(/home/mysql) 解压mysql-5.7.25-el7-x86_64.tar.gz(请自主下载,解压可用版本) 上传并解压数据库压缩包到/home/mysql $ tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz $ mv mysql-5.7.25-el7-x86_64 mysql $ groupadd mysql $ useradd -r -g mysql mysql -d /home/mysql $ chown -R mysql.mysql /home/mysql $ ./bin/mysqld --initialize --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data #记录下密码 记录下密码 记录下密码 如ewe6h<S;Ur4y (备注:若缺少libnuma.so.1,则执行yum install -y numactl) $ cp -a ./support-files/mysql.server /etc/init.d/mysqld $ chmod +x /etc/init.d/mysqld $ chkconfig --add mysqld $ cp /etc/my.cnf /etc/my.cnf_bak #备份 拷贝my.cnf到/etc/my

mysql 8.0.18 手工安装记录

北战南征 提交于 2019-12-03 14:35:47
mysql 8.0.18 手工安装记录   为了日常方便,特记录如下。 一、安装系统依赖包 #1、系统依赖包安装 yum -y install make gcc-c++ cmake bison-devel ncurses-devel readline-devel libaio-devel perl libaio wget lrzsz vim libnuma* bzip2 xz 二、关闭防火墙和selinux #2、关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 #3、修改系统限制参数 cat >> /etc/security/limits.conf << EOF # ###custom # * soft nofile 20480 * hard nofile 65535 * soft nproc 20480 * hard nproc 65535 EOF 三、修改系统限制参数 修改系统限制参数 cat >>/etc/sysctl.conf <<"EOF" ################################## vm.swappiness=0 #增加tcp支持的队列数 net.ipv4.tcp_max_syn_backlog = 65535

canal同步

可紊 提交于 2019-12-03 12:11:25
canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。 canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。 阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。 6.1 Canal工作原理 MySQL中的binlog日志:面试,mysql数据如何备份,开启binlog日志即可( redis:aof----日志—。 ) redis:需要开启aof appendonly.aof文件----日志文件(记录所有的操作) 例如: set name "tomcat" set school "beijng" set age "20" ... ... redis:一共16号库,默认在0号库 断电后,内存丢失 重启 ,加载aof文件。 vim appendonly.aof $6 select $1 0 $3 set $4 name $6 tomcat .... 原理相对比较简单: canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议 mysql master收到dump请求,开始推送binary log给slave(也就是canal) canal解析binary log对象(原始为byte流) canal需要使用到mysql

MySQL5.6与MySQL5.7安装的区别

三世轮回 提交于 2019-12-03 12:02:01
一.MySQL5.6与MySQL5.7安装的区别 1、cmake的时候加入了boost 下载boost.org 2、初始化时 cd /application/mysql/bin/mysql 使用mysqld --initialize 替代mysql_install_db,其它参数没有变化:--user= --basedir= --datadir= 3、--initialize会生成一个临时密码 4、还可以用另外一个参数--initialize-insecure (加上生不成密码) mysql 5.7使用弱密码 validate_password_length 8 # 密码的最小长度,此处为8。 validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。 validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。 validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应: 【0/LOW】:只检查长度。 【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。 【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。 validate_password_special_char_count 1

基于docker的mysql8的主从复制

易管家 提交于 2019-12-03 11:51:10
基于docker的mysql8的主从复制 创建mysql的docker镜像 构建docker镜像,其中数据卷配置内容在下面,结构目录如下 version: '3.7' services: db: # images 8.x image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 456123 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 ports: - 3309:3306 volumes: - ./data:/var/lib/mysql - ./my.cnf:/etc/my.cnf 配置mysql的主库 更新配置文件 # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute

Mysql双主加Keepalived

点点圈 提交于 2019-12-03 10:52:26
一、 MySQL于keepalived简介* * 前言: 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加mysql入口,增加高可用。不过多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题。 1.1、 MySQL* * 1.1.1、MySQL主从复制原理 复制分成三步: \1. master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); \2. slave将master的binary log events拷贝到它的中继日志(relay log); \3. slave重做中继日志中的事件,将改变反映它自己的数据。 下图描述了这一过程: 1.1.2、MySQL双主构建思路 1.两台mysql都可读写,互为主备,默认只使用一台(masterA)负责数据的写入,另一台(masterB)备用; 2.masterA是masterB的主库,masterB又是masterA的主库,它们互为主从; 3.两台主库之间做高可用,可以采用keepalived等方案(使用VIP对外提供服务); 4

在同一个window环境下安装多个MySQL服务

与世无争的帅哥 提交于 2019-12-03 10:50:02
第一个MySQL服务安装步骤参考:  https://www.cnblogs.com/qianshouxiuluo/p/11723404.html 1.将第一个安装的MySQL安装包复制出来,并重命名 2.修改my.ini的配置文件内容 [client] port = 3307 # 设置 MySQL 客户端默认字符集 default-character-set=utf8 [mysqld] #port 表示 mysql 端口 port=3307 # 服务端使用的字符集默认为 8 比特编码的 latinl 字符集 character-set-server=utf8 #安装目录 #basedir 表示 mysql 安装路径 basedir=D:\Studio\mysql-5.7.27.07 #datadir 表示 mysql 数据文件存储路径 datadir=D:\Studio\mysql-5.7.27.07\data # SQL_MODE排序group配置 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # mysql默认数据库编码格式 default-storage-engine

mysql面试题

会有一股神秘感。 提交于 2019-12-03 10:38:32
1、MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联; 2、MySQL中myisam与innodb的区别,至少5点 (1)、问5点不同; (2)、innodb引擎的4大特性 (3)、2者selectcount(*)哪个更快,为什么 3、MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义 (1)、varchar与char的区别 (2)、varchar(50)中50的涵义 (3)、int(20)中20的涵义 (4)、mysql为什么这么设计 4、innodb的事务与日志的实现方式 (1)、有多少种日志; (2)、事物的4种隔离级别 (3)、事务是如何通过日志来实现的,说得越深入越好。 5、问了MySQL binlog的几种日志录入格式以及区别 (1)、binlog的日志格式的种类和分别 (2)、适用场景; (3)、结合第一个问题,每一种日志格式在复制中的优劣。 6、问了下MySQL数据库cpu飙升到500%的话他怎么处理? (1)、没有经验的,可以不问; (2)、有经验的,问他们的处理思路。 7、sql优化 (1)、explain出来的各种item的意义; (2)、profile的意义以及使用场景; 8、备份计划,mysqldump以及xtranbackup的实现原理 (1)、备份计划; (2)、备份恢复时间; (3)

基于 MHA 的MySQL高可用-CentOS7(理论)

▼魔方 西西 提交于 2019-12-03 10:30:42
MHA 简介 MHA(Master High Availability) 目前在 MySQL 高可用方面是一个相对成熟的解决方案, 它由日本 DeNA 公司的 youshimaton 员工(现就职于 Facebook 公司)开发,是一套优秀的作 为 MySQL 高可用性环境下 故障切换和主从角色提升 的高可用软件。在 MySQL 故障切换过程 中,MHA 能做到在 0~30 秒之内自动完成数据库的主从故障切换操作,并且在进行故障切换 的过程中,MHA 能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA 由两部分组成:MHA Manager(管理节点)和 MHA Node(数据节点) 。MHA Manager 可以单独部署在一台独立的机器上管理多个 master-slave 集群,也可以部署在一台 slave 节 点上。MHA Node 运行在每台 MySQL 服务器及 Manager 服务器上,MHA Manager 会定时探 测集群中的 master 节点,当 master 出现故障时,它可以自动将拥有最新数据的 slave 提升 为新的 master,然后将所有其他的 slave 重新指向新提升的 master。整个故障转移过程对应 用程序层面完全透明。 在 MHA 自动故障切换过程中,MHA 会试图从宕机的主服务器上保存二进制日志,最大 程度的保证数据不丢失