MySQL 中怎么搭建主从高可用
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,MySQL 中怎么搭建主从高可用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. mysql 下载操作系统:CentOS 7.5MyS
千家信息网最后更新 2024年11月29日MySQL 中怎么搭建主从高可用
MySQL 中怎么搭建主从高可用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1. mysql 下载
操作系统:CentOS 7.5
MySQL:mysql-5.7.29
在 CentOS 中只用使用 wget
命令下载即可,下载完成后进行解压:
> wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar> tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tarmysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpmmysql-community-test-5.7.29-1.el7.x86_64.rpmmysql-community-embedded-5.7.29-1.el7.x86_64.rpmmysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpmmysql-community-libs-5.7.29-1.el7.x86_64.rpmmysql-community-client-5.7.29-1.el7.x86_64.rpmmysql-community-server-5.7.29-1.el7.x86_64.rpmmysql-community-devel-5.7.29-1.el7.x86_64.rpmmysql-community-libs-compat-5.7.29-1.el7.x86_64.rpmmysql-community-common-5.7.29-1.el7.x86_64.rpm
2 安装
检查移除系统自带的mysql
rpm -qa | grep mariadbrpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps # 如果有的话,使用这种方式移除
上面 MySQL 的安装包解压后有很多组件,一般不需要全部安装,挑常用的几个安装即可,并且要注意安装顺序:
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-devel-5.7.29-1.el7.x86_64.rpm
3 初始化
mysqld --initialize --user=mysql # --user 是可选的参数,意思是创建一个名称是 mysql 的用户
初始化完成后,mysql 会给 root 用户创建一个临时的登录密码,登录进去后再对 root 用户的密码进行自定义修改,临时密码在 mysql 的日志中,默认路径是 /var/log/mysqld.log
,一般在最后一行类似下面:
A temporary password is generated for root@localhost: hSQ&zl/3m?oF
使用系统方式启动 mysql,同时还把 mysql 的加入到系统自启动列表中:
systemctl start mysqld.servicesystemctl status mysqld.service # 检查是否启动成功
使用上面日志中的临时密码登录,登录后修改密码
mysql -uroot -pset password=password('your_new_password');
为了让集群中的各个数据库节点能正常通信,需要关闭防火墙,线上环境需要在防火墙中放行 3306 的端口
systemctl stop iptables # iptables 防火墙systemctl stop firewalld # firewalld 防火墙,CentOS 自带systemctl disable firewalld.service # 彻底一点,从开机启动中禁用掉
4 配置主从
4.1 配置主库
修改主库的配置文件 /etc/my.cnf
,增加以下配置:
# log_binserver-id=1 # 设置 server-id,每个数据库不能重复,必须log_bin=mysql-bin # 指定 binlog 的名称,相当于开启 bin log, 必须sync-binlog=1 # 开始刷新 bin log 到磁盘,每次有更新事务,完成后都要马上刷新到磁盘binlog-ignore-db=performance_schema # binlog 中忽略的库binlog-ignore-db=information_schemabinlog-ignore-db=sys#binlog-do-db=lagou # 可以使用这个参数指定只同步那个库
保存退出后,重启数据库:
systemctl restart mysqld
设置哪些 ip 的 slave 可以从本 master 同步 binlog。
grant replication slave on *.* to 'root'@'%' identified by 'root'; # 复制授权grant all privileges on *.* to 'root'@'%' identified by 'root';flush privileges; # 刷新权限
在查看一下数据库作为 master 的一些状态
mysql> show master status;+------------------+----------+--------------+-------------------------------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+-------------------------------------------+-------------------+| mysql-bin.000001 | 869 | | performance_schema,information_schema,sys | |+------------------+----------+--------------+-------------------------------------------+-------------------
重点关注当前使用的 bin log 文件名称以及 bin log 的写入位置。
4.2 配置从库
修改每个从库的 /etc/my.cnf
,添加一下内容:
server-id=3 # 注意一个集群环境中的 id 不能冲突relay_log=mysql-relay-bin# read_only=1 # 开启只读
重启数据库,然后登陆到 mysql 中做一些相关配置:
show slave status; # 查看 salve 状态,如果已经是开启状态,需要先 stop slave;修改配置后,在 start slave;# 设置主库的 bin log 信息(用到了主库中当前 bin log 的文件名称以及当前写位置)change master to master_host='192.168.0.11',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=869;show slave status; # 查看从库状态, 第一次配置,此时连接 master 的状态应该是 Nostart slave; # 开启 salve 模式
看完上述内容,你们掌握MySQL 中怎么搭建主从高可用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
配置
密码
数据
数据库
状态
名称
系统
防火墙
登录
防火
主从
内容
文件
用户
位置
参数
方式
方法
日志
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
知名的软件开发人员工资
软件开发行业工作需求
科启网络技术服务部全称
台达a2服务器绝对值如何设置
微领地互联网科技公司现场
移动宽带是独立服务器吗
共享服务器权限管理软件
工业园区营销网络技术优势
儿童网络安全手抄报图片大全
网络安全可用性和泛洪攻击
东城回收服务器价格多少
天河正规的网络安全建设
服务器电源是不是通用的
学习网络技术怎么学
6.网络安全风险排查制度
软件开发个体工商户
成都电脑云控软件开发商
cae 软件开发
哈尔滨服务器托管如何选择机房
关系数据库索引使用方法
国网供网络安全
软件开发专业靠谱吗
维普网论文数据库
表单管理员 金数据库
黑帽大会网络安全工具
gp数据库如何重置xid
专业性软件开发程序
南京大学软件开发理科生
软件开发给客户怎么报价
治安案件网络技术侦查