MYSQL集群高可用和数据监控渠道完成计划

生活 2025-05-30 04:50:32 5822

一、项目阐明。

该项目共分为2个子项目,由。MYSQL集群高可用。和。数据监控渠道。两部分组成。

• 具体要求。

• 网络装备:确保集群中的MySQL服务器之间的。网络衔接安稳牢靠。,避免网络推迟或丢包对集群功用形成影响。

• 同步参数装备:关于需求数据同步的集群计划(如主从仿制和组仿制),需求。合理装备同步参数。,确保数据的实时性和一致性。

• 备份和康复战略:拟定。完善的备份和康复战略。,定时备份集群数据,并测验康复流程的可行性,以确保在发生毛病时能够快速康复数据和服务。

• 监控和告警:运用。监控东西对集群进行实时监控。,并设置合理的告警阈值。当集群呈现反常状况时,能够及时发现并处理。

• 规划思路。

• MYSQL ==集群高可用== 运用。双主双活+keepalived。完结。

• MYSQL ==数据监控渠道== 运用。mysqld_exporter+prometheus+Grafana。三件套完结。

• 集群及监控渠道树立结束后能够完结企业内部的。mysql数据库双主机在线增加高可用性。,经过keepalived的毛病检测和VIP漂移才能使得。发生毛病后运用者无感知,增加体系的容错才能。,经过监控渠道完结。mysql数据库监控可视化。

1.1 MySQL中的主从仿制技能。

MySQL 是根据它本身的 Bin-log 日志来完结数据的异步仿制,因为 Bin-log 日志中会记载一切对数据库发生改变的句子,包含 DML 数据改变和 DDL 结构改变句子,数据的同步进程如下:

在这里刺进图片描绘。

1.2 keepalived高可用计划。

Keepalived是一个轻量级其他高可用解决计划,运用。VR。RP(Vritrual Rou。te。r Redundancy Protocol,虚拟路由冗余协议)的VIP虚拟IP的漂移功用,完结单点毛病搬运。

在这里刺进图片描绘。

1.3 可视化监控渠道三件套。

• Mysqld_exporter:是一款轻量级的mysql监控东西,用来搜集MysQL数据库相关方针并将其露出给prometheus进行监控和告警。

• Prometheus:普罗米修斯,一个开源的服务监控体系,它担任收集和存储运用的监控方针数据,并以可视化的办法进行展现,以便于用户实时把握体系的运转状况,并对反常进行检测。

• Grafana:格拉法娜,是一个跨渠道的开源的衡量剖析和可视化东西,能够从prometheus获取数据进行可视化数据大屏展现。

总结:mysqld_exporter用于抓取mysql监控方针数据,prometheus接收到数据后进行收拾剖析,grafana从prometheus获取数据运用大屏模版进行仪表盘展现。

1.4 项目使命清单。

1. 体系渠道布置。

• 装置VmWare17。

• 虚拟出三台计算机。

• 装置OpenEuler22.03 SP4 LTS。 操作体系。

• 体系设置:主机名、防火墙、SE。Linux。、hosts映射、IP地址:

2. 装置2台MySql服务器。

• 运用二进制包进行装置。

• 装备MySql体系服务。

3. 布置高可用MySql双主集群。

• 装备账户。

• 装备主主仿制。

• 装置keepalived并装备。

4. 装置装备监控渠道。

• 装置Mysqld_Exporter+Prometheus+grafana-enterprise。

• 装备监控渠道组件。

5. 压力测验。

二、项目完结进程。

项目拓扑结构。

在这里刺进图片描绘。
软硬件环境清单:

在这里刺进图片描绘。

2.1 OpenEuler体系装置。

2.1.1 创立虚拟机实例。

• 第一步:文件菜单->新建虚拟机->典型->下一步。

image-20230426105520639。

• 第二步:稍后装置操作体系。

image-20230426105559441。

• 第三步:挑选操作体系类型,因为OpenEuler22.03 LTS SP3运用Linux5.10内核则挑选如下:

image-20231115113531955。

• 第四步:命名虚拟机。

在这里刺进图片描绘。

• 第五步:设置磁盘空间20G,动态空间请求,设置为单个文件。

在这里刺进图片描绘。

• 第六步:自定义硬件,设置硬件参数。

在这里刺进图片描绘。

• 第七步:设置自定义硬件。

• 内存:引荐2GB。

•。 处理器。:1颗、2中心。

• ==新CD/DVD:习惯ISO映像文件,点击阅读按钮,挑选之前下载好的openEuler-22.03-LTS-SP2-x86_64-dvd.iso镜像文件==。

• 网络适配器:挑选NAT形式。

• 显现器:去掉"加快3D图形“的对钩。

• 终究:

image-20231115114047316。

• 挑选封闭、完结。

2.1.2 OpenEuler22.03操作体系的装置布置。

挑选言语:中文或英文。

• 装置信息摘要设置。

image-20240524091942939。

• 装置目的地:显现装置方位,一般为硬盘,点击。自定义。,然后点击完结:

在这里刺进图片描绘。

• /boot:体系发动分区,引荐500M或1GB。

• swap:交流分区,4G。

• /:根分区,希望容量省掉,表明将剩下空间悉数分配。

办法:点击下图的。加号。,设置。挂载点及希望容量。(重复屡次)。

image-20240524092325368。

image-20240524092439307。

image-20240524092505325。

image-20240524092533410。

• 点击完结,承受更改。

image-20240524092603436。

• 网络和主机名:翻开网卡衔接。

image-20240524092626997。

• 主机名:moniter、master1、master2,点击运用。

• 装备:IPv4设置,手动,别离装备IP192.168.88.163、192.168.88.161、192.168.88.162,子网掩码255.255.255.0,网关192.168.88.2,DNS服务器192.168.88.2点击保存。

在这里刺进图片描绘。

• root账户暗码设置:暗码为OPENlab123。

image-20240524092743232。

• 创立用户:创立一个一般账户KD,设置暗码:OPENlab123。

在这里刺进图片描绘。

• 装置完结后点击"重启体系"。

image-20240524092900894。

2.1.3 装备OpenEuler22.03。

• 登录。

• 账号:root。

• 暗码:OPENlab123。

在这里刺进图片描绘。

• 修正主机名。

[rootmoniter~]# hostnamectlset-hostname monitor。

• 三台主机从头设置登录体系暗码为。123。

[rootmoniter~]# passwd root更改用户 root 的暗码 。新的暗码:无效的暗码: 暗码少于8个字符从头输入新的暗码:passwd:一切的身份验证令牌现已成功更新。[rootmoniter~]#。

• 重启,从头衔接。

reboot。

• 封闭三台主机防火墙及SELinux。

[rootmonitor~]# vi/etc/selinux/config# This file controls the stateofSELinuxonthe system.# SELINUX=。can。takeoneofthese threevalues:#   enforcing-SELinux security policyisenforced.#   permissive-SELinux prints warnings inste。ad。ofenforcing.#   disabled-NoSELinux policyisloaded.SELINUX=disabled# SELINUXTYPE=can takeoneofthese threevalues:#   targeted-Targeted processesareprotected,#   minimum-Modifica。ti。onoftargeted policy.Onlyselected processesareprotected.#   mls-Multi Level Security protection.SELINUXTYPE=targeted[rootmonitor~]# systemctl stop firewalld #封闭防火墙[rootmonitor~]# systemctl disable firewalld # 撤销开机发动Removed/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.Removed/etc/systemd/system/multi-user.target.wants/firewalld.service.[rootmonitor~]# reboot #重启。

• 三台主机下载所需软件并晋级。

yum install vim make gcc tree net-tools tar-yyumupdate。

• 三台主机时刻同步。

[rootmaster2~]# vim/etc/chrony.conf。

在这里刺进图片描绘。

[rootmaster2~]# systemctl restart chronyd[rootmaster2~]# chronyc sources-v .-- Source mode '^' = server, '=' = peer, '#' = local clock./.-Source state'*'=currentbest,'+'=combined,'-'=notcombined,|/      'x'=may beinerror,'~'=too variable,'?'=unusable.||                        .-xxxx [ yyyy ]+/-zzzz||   Re。ac。hability register (octal)-.     | xxxx=adjustedoffset,||   Log2(Pollinginterval)--.   |     | yyyy = measured offset,||                  |    | zzzz=estimated error.||                | |     MS Name/IP address     Stratum Poll Reach LastRxLastsample       ===============================================================================^*203.107.6.88        2 6 17  4 +785us[+7288us]+/- 31ms[rootmaster2~]# chronyc sources-v .-- Source mode '^' = server, '=' = peer, '#' = local clock./.-Source state'*'=currentbest,'+'=combined,'-'=notcombined,|/      'x'=may beinerror,'~'=too variable,'?'=unusable.||                        .-xxxx [ yyyy ]+/-zzzz||   Reachability register (octal)-.     | xxxx=adjustedoffset,||   Log2(Pollinginterval)--.   |     | yyyy = measured offset,||                  |    | zzzz=estimated error.||                | |     MS Name/IP address     Stratum Poll Reach LastRxLastsample       ===============================================================================^*203.107.6.88        2 6 17  6 +785us[+7288us]+/- 31ms[rootmaster2~]# chronyc sources-v .-- Source mode '^' = server, '=' = peer, '#' = local clock./.-Source state'*'=currentbest,'+'=combined,'-'=notcombined,|/      'x'=may beinerror,'~'=too variable,'?'=unusable.||                        .-xxxx [ yyyy ]+/-zzzz||   Reachability register (octal)-.     | xxxx=adjustedoffset,||   Log2(Pollinginterval)--.   |     | yyyy = measured offset,||                  |    | zzzz=estimated error.||                | |     MS Name/IP address     Stratum Poll Reach LastRxLastsample       ===============================================================================^*203.107.6.88        2 6 17  6 +785us[+7288us]+/- 31ms[rootmaster2~]# chronyc sources-v .-- Source mode '^' = server, '=' = peer, '#' = local clock./.-Source state'*'=currentbest,'+'=combined,'-'=notcombined,|/      'x'=may beinerror,'~'=too variable,'?'=unusable.||                        .-xxxx [ yyyy ]+/-zzzz||   Reachability register (octal)-.     | xxxx=adjustedoffset,||   Log2(Pollinginterval)--.   |     | yyyy = measured offset,||                  |    | zzzz=estimated error.||                | |     MS Name/IP address     Stratum Poll Reach LastRxLastsample       ===============================================================================^*203.107.6.88        2 6 17  8 +785us[+7288us]+/- 31ms[rootmaster2~]# chronyc sources-v .-- Source mode '^' = server, '=' = peer, '#' = local clock./.-Source state'*'=currentbest,'+'=combined,'-'=notcombined,|/      'x'=may beinerror,'~'=too variable,'?'=unusable.||                        .-xxxx [ yyyy ]+/-zzzz||   Reachability register (octal)-.     | xxxx=adjustedoffset,||   Log2(Pollinginterval)--.   |     | yyyy = measured offset,||                  |    | zzzz=estimated error.||                | |     MS Name/IP address     Stratum Poll Reach LastRxLastsample       ===============================================================================^*203.107.6.88        2 6 17  8 +785us[+7288us]+/- 31ms[rootmaster2~]# timedatectl       Localtime: 六2025-02-1515:42:41CST     Universaltime: 六2025-02-1507:42:41UTC        RTCtime: 六2025-02-1507:42:41       Timezone: Asia/Shanghai (CST,+0800)Systemclock synchronized: yes       NTP service: active     RTCinlocalTZ:no。

2.2 出产环境二进制包装置MySql。

下载装置包。
网址链接: https://dev.mysql.com/downloads/mysql/。

在这里刺进图片描绘。

2.2.1 解压缩装置包。

• 衔接xshell、鄙人shell点击xftp图标。

在这里刺进图片描绘。

在这里刺进图片描绘。

• 解压装置包、准备作业:

[rootmaster1~]# tar xvf mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz......[rootmaster1~]# cd mysql-8.0.37-linux-glibc2.17-x86_64[rootmaster1mysql-8.0.37-linux-glibc2.17-x86_64]# lsbin docs include lib LICENSE man README share support-files。
# 移动到默许装置目录,也可自行修正[rootmaster1~]# cd~#~是一个特别的符号,表明当时用户的主目录[rootmaster1~]# mv mysql-8.0.37-linux-glibc2.17-x86_64/usr/local/mysql[rootmaster1/]# cd/usr/local/mysql[rootmaster1mysql]# groupadd mysql # 创立名为mysql的用户组[rootmaster1mysql]# useradd-r-g mysql-s/bin/falsemysql # 创立名为 mysql 的体系用户,将其增加到mysql用户组中,并设置其登录shell为/bin/false,以约束该用户的登录权限#-r:创立体系帐户#-g:为所创立的用户指定基本组的 id .假如该组 id 不存在会报错,假如存在则创立成功#-s:用于指定所创立用户可操作的脚本## 删去用户指令:userdel[rootmaster1mysql]# mkdir data # 创立用于寄存MySQL数据文件目录# 设置mysql目录的账户及作业组,出产环境中不要运用root[rootmaster1mysql]# chown-R mysql:mysql/usr/local/mysql#-R:表明递归修正指定目录下一切文件及其子目录的权限# chmod 指令是用于给文件或目录设置权限,假如是目录,咱们需求运用-R 选项,假如是文件这个选项能够不必指定。# chown 指令是用于给文件或目录修正所属者和所属组权限。

2.2.2 初始化作业。

在这里刺进图片描绘。
master1:

# 初始化数据目录[rootmaster1mysql]# bin/mysqld--initialize --user=mysql --basedir=/usr/local/mysql --dat。adi。r=/usr/local/mysql/data # 留意:需求仿制暗码2025-02-16T07:15:42.081778Z0[System] [MY-013169] [Server]/usr/local/mysql/bin/mysqld (mysqld8.0.37) initializingofserverinprogres。sas。process52832025-02-16T07:15:42.086988Z1[System] [MY-013576] [InnoDB] InnoDB initialization has started.2025-02-16T07:15:42.326267Z1[System] [MY-013577] [InnoDB] InnoDB initialization has ended.2025-02-16T07:15:43.605271Z6[Note] [MY-010454] [Server] A temporary passwordisgeneratedforrootlocalhost: ;Ay,miVu;9k1 #生成暂时暗码:;Ay,miVu;9k1[rootmaster1mysql]# bin/mysqld_safe--user=mysql & # 运用后台办法以mysql用户身份发动#MySQL 服务器,mysqld_safe 是一个用于发动和监控 MySQL 服务器的脚本[1]5328[rootmaster1mysql]# Loggingto'/usr/local/mysql/data/master1.err'.2025-02-16T07:17:08.488162Z mysqld_safe Starting mysqld daemonwithdatabasesfrom/usr/local/mysql/data。
初始化数据目录: https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/data-directory-initialization.html。

在这里刺进图片描绘。

master2:

[rootmaster2mysql]# groupadd mysql[rootmaster2mysql]# useradd-r-g mysql-s/bin/falsemysql[rootmaster2mysql]# mkdir data[rootmaster2mysql]# chown-R mysql:mysql/usr/local/mysql# 初始化数据目录[rootmaster2mysql]# bin/mysqld--initialize --user=mysql --basedir=/usrlocal/mysql --datadir=/usr/local/mysql/data2025-02-16T05:53:39.774317Z0[System] [MY-013169] [Server]/usr/local/mysql/bin/mysqld (mysqld8.0.37) initializingofserverinprogressasprocess18542025-02-16T05:53:39.774344Z0[ERROR] [MY-010338] [Server] Can't find error-message file '/usrlocal/mysql/share/er。rms。g.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.2025-02-16T0539.781243Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.2025-02-16T0540.015072Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.2025-02-16T0540.481966Z 0 [Warning] [MY-013829] [Server] Missing data directory for ICU regular expressions: /usrlocal/mysql/lib/private/.2025-02-16T0541.390467Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: +AshIk4eerzq。

生成暂时暗码:;Ay,miVu;9k1、+AshIk4eerzq。

留意:此刻上述指令履行结束处于后台运转状况,需求。另行发动一个终端。

在这里刺进图片描绘。

[rootmaster1~]# cd "/usr/local/mysql"[rootmaster1mysql]# ps-ef|grep mysql# 检查进程运转状况root    5328 5048015:17pts/0 00:00:00/bin/sh bin/mysqld_safe--user=mysqlmysql   5410 5328015:17pts/0 00:00:01/usr/local/mysql/bin/mysqld--basedir=/usr/local/mysq --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=master1.err --。pi。d-file=master1.pidroot    5525 5458015:20pts/1 00:00:00grep--color=auto mysql[rootmaster1mysql]# cd/usr/local/mysql。

找到下面的文件进行软衔接。

[rootmaster1mysql]# ln-s/usr/lib64/libtinfo.so.6.3/usr/lib64/libtinfo.so.5[rootmaster1mysql]# ln-s/usr/lib64/libncu。rs。es.so.6.3/usr/lib64/libncurses.so.5## 删去软链接:rm-。rf。
[rootmaster1mysql]# bin/mysql-uroot-pEnter password:       # 张贴之前的初始暗码:;Ay,miVu;9k1Welcometothe MySQL monitor. Commandsendwith;org.Your MySQL connection idis13Server version:8.0.37Copyright (c)2000,2024, Oracleand/orits affiliates.Oracleisa registered trademarkofOracle Corporationand/oritsaffiliates. Other names may be trademarksoftheir respectiveowners.Type'help;'or'h'forhelp. Type'c'toclear thecurrentinput statement.mysql>alteruser'root''localhost'identifiedwithmysql_native_passwordby'123456'; #修正暗码Query OK,0rowsaffected (0.00sec)mysql>flush privileges; #改写Query OK,0rowsaffected (0.04sec)mysql>use mysql; # 检查账户信息ReadingtableinformationforcompletionoftableandcolumnnamesYou can turn off this featuretogeta quicker startupwith-ADatabase changedmysql>selectuser,host,pluginf。rom。mysql.user;+------------------+-----------+-----------------------+|user      |host   |plugin        |+------------------+-----------+-----------------------+|mysql.infoschema|localhost|caching_sha2_password||mysql.session  |localhost|caching_sha2_password||mysql.sys    |localhost|caching_sha2_password||root      |localhost|mysql_native_password|+------------------+-----------+-----------------------+4rowsinset(0.00sec)mysql>exitBye[rootmaster1mysql]# ps-ef|grep mysqlroot    5328 5048015:17pts/0 00:00:00/bin/sh bin/mysqld_safe--user=mysqlmysql   5410 5328015:17pts/0 00:00:02/usr/local/mysql/bin/mysqld--basedir=/usr/local/mysq --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=master1.err --pid-file=master1.pidroot    5533 5458015:25pts/1 00:00:00grep--color=auto mysql# 在当时终端封闭运转的mysql[rootmaster1mysql]# kill-95328[rootmaster1mysql]# kill-95410[rootmaster1mysql]# kill-95533-bash: kill: (5533)-Nosuch process[rootmaster1mysql]# kill-95458Connection closed.Disconnectedfromremote host(master1)at15:26:04.Type `help' to learn how to use Xshell prompt.[C:~]$。

在这里刺进图片描绘。

2.2.3 设置mysql的装备文件。

回到之前的终端,敲一个回车,显现进程以杀死。

在这里刺进图片描绘。

新建装备文件,输入以下内容:

[rootmaster1mysql]# vim/etc/my.cnf # 新建装备文件,输入以下内容:

在这里刺进图片描绘。

[client]port = 3306socket = /tmp/mysql.sock[mysqld]port = 3306basedir = /usr/local/mysqldatadir = /usr/local/mysql/datatmpdir = /tmpsocket = /tmp/mysql.sockcharacter-set-server = u。tf。8mb4collation-server = utf8mb4_general_cidefault-storage-engine=INNODBlog_error = error.log。

• 装备发动脚本:

[rootmonitormysql]# cd/usr/local/mysql/support-files[rootmaster1support-files]# cp-a mysql.server/etc/init.d/mysql[rootmaster1support-files]# vim/etc/init.d/mysql。
basedir=/usr/local/mysqldatadir=/usr/local/mysql/data。

在这里刺进图片描绘。

[rootmaster1support-files]# cd~[rootmaster1~]# vim~/.bash_profile # 设置环境变量需增加如下句子。

export PATH=$PATH:/usr/local/mysql/bin。

在这里刺进图片描绘。

• 装备发动脚本。

#~是一个特别的符号,表明当时用户的主目录[rootmaster1~]# source~/.bash_profile #从头加载当时用户的 .bash_profile 文件中的装备[rootmaster1~]# systemctl daemon-reload # 重载体系装备[rootmaster1~]# systemctlstartmysql[rootmaster1~]#/usr/lib/systemd/systemd-sysv-install enable mysql # 开机发动[rootmaster1~]# mysql-uroot-pEnter password:Welcometothe MySQL monitor. Commandsendwith;org.Your MySQL connection idis8Server version:8.0.37MySQL Community Server-GPLCopyright (c)2000,2024, Oracleand/orits affiliates.Oracleisa registered trademarkofOracle Corporationand/oritsaffiliates. Other names may be trademarksoftheir respectiveowners.Type'help;'or'h'forhelp. Type'c'toclear thecurrentinput statement.mysql>updatemysql.usersethost="%"whereuser="root";Query OK,1rowaffected (0.01sec)Rowsmatched:1 Changed:1 Warnings:0mysql>flush privileges;Query OK,0rowsaffected (0.00sec)mysql>exitBye。

UUID:

master1:[rootmaster1 ~]# cat /usr/local/mysql/data/auto.cnf[auto]server-uuid=d4e30409-ec35-11ef-acfe-000c29244098。
master2:[rootmaster2 ~]# cat /usr/local/mysql/data/auto.cnf[auto]server-uuid=5ef6aa2e-ec2a-11ef-8cb0-000c293e0dba。

2.3mysql集群树立。

1. 修正2个。主节点的装备文件。

2. 创立一个用于。同步数据的账号。

3. 树立2个。主节点的彼此仿制。

4.。测验。

2.3.1 master1节点装备。

• 修正装备文件。

[rootmaster1~]# systemctl stop mysql[rootmaster1~]# vim/etc/my.cnf[client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306basedir=/usr/local/mysqldatadir=/usr/local/mysql/datatmpdir=/tmpsocket=/tmp/mysql.sockcharacter-set-server=utf8mb4collation-server=utf8mb4_general_cidefault-storage-engine=INNODBlog_error=error.log#------主节点装备-------# 当时节点在集群中的仅有标识server-id=1 #server-id=1,为集群中本机标识,有必要仅有# 敞开bin-log日志,并为bin-log日志取个前缀名(有默许值可不写)log-bin=mysql-bin-log# 同步仿制时过滤的库(主要将一些不需求备份/同步库写进来)# 也能够经过binlog-do-db=xx1,xx2... 来指定要仿制的方针库binlog-ignore-db=mysql# 指定bin-log日志的格局为混合形式(默许为statement)binlog_format=mixed# 设置单个binlog日志文件的最大容量max_binlog_size=1024M#------从节点装备-------# 敞开relay-log日志(相同能够指定前缀名)relay_log=mysql-relay-log# 敞开存储进程、函数、触发器等内容的同步功用log_bin_trust_function_creators=true# 同步履行越过一些过错码(避免同步写入时呈现过错导致仿制中止)slave_skip_errors=1062#------自增序列装备-------# 设置自增初始值为1auto_increment_offset=1# 设置自增步长为2,自增序列为{1、3、5、7、9.....}auto_increment_increment=2。

server-id=1,为集群中本机标识,有必要仅有。
因为master1便是主节点又是从节点,则有必要设置===从节点装备==。
为了确保2个节点数据的一致性,需求敞开。自增序列装备。,master1节点跳步为1 3 5 7 9…。

• 创立用于。数据同步。的账号m1。

[rootmaster1~]# systemctlstartmysql[rootmaster1~]# mysql-uroot-pEnter password:Welcometothe MySQL monitor. Commandsendwith;org.Your MySQL connection idis8Server version:8.0.37MySQL Community Server-GPLCopyright (c)2000,2024, Oracleand/orits affiliates.Oracleisa registered trademarkofOracle Corporationand/oritsaffiliates. Other names may be trademarksoftheir respectiveowners.Type'help;'or'h'forhelp. Type'c'toclear thecurrentinput statement.mysql>createuser'mback''%'identifiedwithmysql_native_passwordby'123456';Query OK,0rowsaffected (0.06sec)mysql>grantreplication slaveon*.*to'mback''%';Query OK,0rowsaffected (0.05sec)mysql>。

2.3.2 master2节点装备。

[rootmaster2~]# systemctl stop mysql[rootmaster2~]# vim/etc/my.cnf[client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306basedir=/usr/local/mysqldatadir=/usr/local/mysql/datatmpdir=/tmpsocket=/tmp/mysql.sockcharacter-set-server=utf8mb4collation-server=utf8mb4_general_cidefault-storage-engine=INNODBlog_error=error.log#------主节点装备-------# 当时节点在集群中的仅有标识server-id=2# 敞开bin-log日志,并为bin-log日志取个前缀名(有默许值可不写)log-bin=mysql-bin-log# 同步仿制时过滤的库(主要将一些不需求备份/同步库写进来)# 也能够经过binlog-do-db=xx1,xx2... 来指定要仿制的方针库binlog-ignore-db=mysql# 指定bin-log日志的格局为混合形式(默许为statement)binlog_format=mixed# 设置单个binlog日志文件的最大容量max_binlog_size=1024M#------从节点装备-------# 敞开relay-log日志(相同能够指定前缀名)relay_log=mysql-relay-log# 敞开存储进程、函数、触发器等内容的同步功用log_bin_trust_function_creators=true# 同步履行越过一些过错码(避免同步写入时呈现过错导致仿制中止)slave_skip_errors=1062#------自增序列装备-------# 设置自增初始值为2auto_increment_offset=2# 设置自增步长为2,自增序列为{1、3、5、7、9.....}auto_increment_increment=2。

master2节点的server-id=2,不能和master1的server-id相同。
设置。自增初始值为2。,则master2节点跳步为2 4 6 8 …。

• 创立用于。数据同步。的账号m2。

[rootmaster2~]# systemctlstartmysql[rootmaster2~]# mysql-uroot-pEnter password:Welcometothe MySQL monitor. Commandsendwith;org.Your MySQL connection idis8Server version:8.0.37MySQL Community Server-GPLCopyright (c)2000,2024, Oracleand/orits affiliates.Oracleisa registered trademarkofOracle Corporationand/oritsaffiliates. Other names may be trademarksoftheir respectiveowners.Type'help;'or'h'forhelp. Type'c'toclear thecurrentinput statement.mysql>createuser'mback''%'identifiedwithmysql_native_passwordby'123456';Query OK,0rowsaffected (0.03sec)mysql>grantreplication slaveon*.*to'mback''%';Query OK,0rowsaffected (0.00sec)mysql>。

2.3.3 树立master1 节点主从联系。

• 因为树立的是主-主架构集群,彼此为对方的从节点。,则两个节点都经过 root 账号登录。

• 此刻master1为从节点,master2为主节点。

1. 先在。master2上。检查同步的日志称号及同步点号。

# 留意:在master2上履行mysql>showmaster status;+----------------------+----------+--------------+------------------+-------------------+|File        |Position|Binlog_Do_DB|Binlog_Ignore_DB|Executed_Gtid_Set|+----------------------+----------+--------------+------------------+-------------------+|mysql-bin-log.000001|  664|      |mysql      |         |+----------------------+----------+--------------+------------------+-------------------+1rowinset(0.00sec)# 日志文件:mysql-bin-log.000001# 日志数据点:664。

2. master1 节点上树立仿制联系:
master_host='192.168.88.162。

[rootmaster1~]# mysql-uroot-pEnter password:...mysql>change mastertomaster_host='192.168.88.162',master_user='mback',master_password='123456',master_port=3306,master_log_file='mysql-bin-log.000001',master_log_pos=664;Query OK,0rowsaffected,9warnings (0.07sec)mysql>startslave;Query OK,0rowsaffected,1warning (0.03sec)mysql>showslave statusG。

内容来源:https://bachduy.com/app-1/058nohu com,http://chatbotjud.saude.mg.gov.br/app-1/oxidrolona

本文地址:http://w.21nx.com/new/78129863-5c299992.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

8 月 11 日收效,微软将停用公共 Bing Search API 服务

瞄准千亿美元规划的工业IoT商场,高通推出跃龙品牌

瞄准千亿规划工业物联网商场,高通推出跃龙品牌

比照测验时迈巴赫轮胎被放气?尊界法务回应

《新风助眠白皮书》发布:海信新风空调实测,1 晚多睡 1 小时

沙特驻华大使:2025沙中文化年将进一步增进两国人民相知相亲

蚂蚁数科提出立异跨域微调结构ScaleOT 当选全球AI顶会AAAI 2025

《白城恶魔》电影运作中 小李老马有望再协作

友情链接