Mysql 在服务器中的部署方法
解压mysql
cd 到已经解压的路径下
添加需要的模块
make
添加用户,权限
添加环境变量并source
用vim passwd记录可能遗忘的密钥
mysql_secure_installation开启数据库
这里user root需要填刚才保存的密码
将1编译复制到20,其他步骤与1相同
查看数据
mysql的主从复制(10为主20为从)
创造repl用户密码为lee
创造lee.userlist
注意MASTER-LOG-POS与上面的相同
查到刚才10写入的数据,实现同步
添加slave2(这里为30主机)
企业里可以这样,这样不需要因为没有其他数据的写入
master上
slave2上
slave2插入前和插入后的数据对比
延迟复制(60s)
慢查询日志
mysql的并行复制
半同步模式
gtid模式
在master端和slave端开启gtid模式
vim /etc/my.cnf
添加enforce-gtid-consistency=ON
/etc/init.d/mysqld restart
停止slave端
[root@mysql-node2 ~]# mysql -p mysql> stop slave; Query OK, 0 rows affected (0.00 sec)
[root@mysql-node3 ~]# mysql -p mysql> stop slave; Query OK, 0 rows affected (0.01 sec)
开启slave端的gtid
启用半同步模式
在master端配置启用半同步模式
[root@mysql-node1 ~]# vim /etc/my.cnf
添加rpl_semi_sync_master_enabled=1
安装半同步插件并查看插件情况
#打开半同步功能 mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1
#查看半同步功能状态 mysql> SHOW VARIABLES LIKE 'rpl_semi_sync%';
这里由于node2上做了只读设置,需要备注该参数,并且先在mysql安装半同步插件再在配置文件中添加rpl_semi_sync_master_enabled=1,node3直接进行安装半同步插件和打开半同步功能
master中插入数据
node2中同步数据
node3中因为有延迟复制,会等待60s后看到插入的数据
mysql高可用之组复制 (MGR)
这里将slave1和2的id改成20和30,将local_address分别改成20和30
rm -fr /data/mysql/*保证纯净的实验环境,删除目录里的内容
数据库初始化,开启数据库并修改密码
master
地址解析(三台虚拟机都需要)
slave1
master上查询
slave1上查询
slave2上的操作以及查询
mysql-router(mysql路由)
在MOBAXterm中的router机中拉入该文件
下载,yum install mysql-router-community-8.4.0-1.el7.x86_64.rpm
此处代表20和30轮询访问
此处关闭router的数据库
slave1开启数据库并创建用户并授权
slave2开启数据库并创建用户并授权