9 MySQ 主从同步配置
1. 配置主库1.1. 配置主库binlog12345678[mysqld]server_id=1log_bin=mysql-bin # 开启二进制日志功能,值为文件名,默认保存为 /var/lib/mysql/mysql-bin.000001 (序号递增,还有mysql-bin.index等)#要同步的数据库名,不配置则全部binlog-do-db = cmdb#忽略的数据库名,binlog-ignore-db = mysql 1.2. 建立用户授权信息1234567#这里使用mysql_native_password验证模式,因为mysql8默认使用了sha2验证,如果这里不加,那么从库change master to 的时候还需要添加get_master_public_key=1参数create user 'slave1'@'%' identified with mysql_native_password by 'Slave1218.';#主要是需要replication...
centos安装mysql8
1. 清理1.1. 卸载旧的先检查有无旧的 12rpm -qa | grep -i mysqlrpm -qa | grep -i mariadb 有的话就卸载yum remove或者rpm -e --nodeps,总之要清除干净。yum remove不带版本号,rpm -e --nodeps需要带版本号 12345678rpm -qa | grep -i...
7-Oauth2单点登录客户端源码分析
1....
Hash字段修改引发HashMap和HashSet的数据获取失败和内存泄露
1. 说明在看关于内存泄露的相关文章时,很有意思的给出了一个很有说服力的案例:在HashSet中存在的对象,如果修改了其属性,则会导致获取不到对象了,及时使用了contains()也无法匹配; 2. 案例我们来准备这个案例场景 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748public class HashInaccessibleTest { public static void main(String[] args) { HashSet<HashChange> hashChanges = new HashSet<>(); HashChange change = new HashChange(1, 1, "name"); hashChanges.add(change); //1 ...
jvm死锁内存占用高CPU100%问题简要分析
1. 序今天得到大佬的指点”其实JVM问题没你想的那么难,写一段代码拿到服务器上复现就可以排查了”。 醒悟了,确实,一直以来把JVM的问题想的过于高深,以至于都没有实践去排查一下问题,光了解一些理论有什么用呢,至少简单的问题要能下手,复杂的问题有思路知道怎么去找方向。走出一步就不怕了,即使高并发,咱也可以模拟场景去看呀! 好了,下面就来简要分析下排查线上问题 2. 环境准备首先安装jdk,如果是服务器上安装的话注意安装工具,centos yum安装除了安装jdk外还要安装devtool windows上的话自带了,就不存在了,不过用自己的物理机得注意一下设置内存,别把自己卡死了。 12yum install -y java-1.8.0-openjdkyum install -y java-1.8.0-openjdk-devel 3. 死锁检查3.1. 代码准备准备一个死循环的代码,vim新建T1Deadlock.java就可以了 123456789101112131415161718192021222324252627282930313233343536public...
6-Oauth2单点登录服务端源码分析
1....
Mysql MVCC多版本并发事务原理简要分析
1. 说明Mysql InnoDB 事务的实现主要是通过MVCC多版本并发控制实现的,网上查阅资料基本都说的很详细,也就意味着第一次看真的很懵,本文主要以简要的易懂的方式说明其工作原理。 2. 分析InnoDB 主要靠 undolog(回滚日志)和 readview(读视图)来实现的,这两个是需要搭配起来共同实现MVCC版本控制。 undolog是用来记录表被更新的记录,可以视为一个链表,每个会话都可以追加记录。 readview 是事务在开启时的一个视图,其实准确的说是事务开启后第一次使用表时的记录,记录了数据库正在运行的其它事务情况。 下文具体分析他俩的功能 2.1. undologundolog是用来记录表被更新的记录,可以视为一个链表,每个会话都可以追加记录。某个事务根据特定的规则来找到哪个位置的数据是它可以看见的(这么说可能不是很准确,毕竟本身不是链表,这里只是比喻一下)。undolog主要由以下几部分组成 db_tx_id...
解决Chrome强制把http成功定向为https的问题
说明http重定向为https本来是一个好的方案,毕竟https更安全,但是有的情况下我们真的只需要http访问。这时候Chrome默认的重定向就会导致问题。比如我的博客,图床用的是http协议访问,但是Chrome重定向了之后就会导致所有的图片都访问不了,因此我们还是需要访问http的。 chrome浏览器解决现在已经无法保证能生效了,偶尔能生效 1> HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header. Once a supported browser receives this header that browser will prevent any communications from being sent over HTTP to the specified domain and will instead...
使用nvm管理nodejs
安装下载github下载 从github下载对应的版本 安装然后点击安装,选择好mvn和nodejs的版本 安装完成后不会生成界面,需要在cmd控制台操作 引用 配置环境变量找到 mvn 的路径,配置系统环境变量 NVM_HOME,并加入到path中我exe安装已经自动配置好了 配置镜像配置nvm的地址 打开安装文件夹,打开settings.txt,将以下配置追加到里面 123node_mirror: https://npmmirror.com/mirrors/node/npm_mirror: https://npmmirror.com/mirrors/npm/ 配置npm的地址 1234#查看镜像npm config get registry# 配置镜像npm config set registry https://registry.npmmirror.com 使用123456789101112131415# 查看可用nodejs的稳定版本nvm list available # 下载nodejs 20.9.0nvm install 18.20.5#...