MySQL 中怎么搭建主从高可用
发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,MySQL 中怎么搭建主从高可用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. mysql 下载操作系统:CentOS 7.5MyS
千家信息网最后更新 2024年12月02日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安全错误
数据库的锁怎样保障安全
夏普提示没有发现所选服务器
安徽电视墙服务器怎么安装
危险源辨识软件开发
软件开发企业所得税
数据库+mdf+下载
市北网络技术
矢量数据库的建立
网络安全说课比赛视频一等奖
系统软件开发需要什么证书
华为服务器 p02告警
我的世界服务器纯生存加光影
免费云服务器能承受多少用户
葫芦岛新零售软件开发设计
江苏网络软件开发费用是多少
ubuntu服务器管理客户端
软件开发普通员工一般工资
数据库购买价格
软件开发包括设计助理吗
互联网软件开发正规平台
php 数据库表
linux服务器性能监控
数据库字段字节问题
鲜花购物系统数据库
php取数据库乱码
怎么能进国家网络安全
北京国家电网网络技术中心
清查网络安全
万虎网络技术有限公司
长沙安卓软件开发哪里好
北京浪潮服务器供货厂