MySQL 主从配置

环境

centos6.7 虚拟机两台

主:192.168.23.160

从:192.168.23.163

准备

在两台机器上分别安装mysql5.6.23,安装完成后利用临时密码登录mysql数据修改root的密码;将my.cnf配置文件放至/etc/my.cnf,重启mysql服务进程。

my.cnf 初始内容:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

lower_case_table_names=1
skip_name_resolve
character-set-server=utf8
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

innodb_buffer_pool_size = 2G
long_query_time=2
slow_query_log=0
log_queries_not_using_index=1
thread_concurrency=8
thread_cache_size=32
max_connections=500
max_connect_errors=800

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

配置主库

在主库的my.cnf配置文件的[mysqld]节点下增加

server_id=160

log_bin=mysql-bin

log_bin_trust_function_creators=1

重启mysql服务后登录mysql数据库,执行 how master status; 查看主库的状态

在这里插入图片描述

创建同步账号:grant replication slave on . to ‘sync’@’%’ identified by ‘123456’;

配置从库

在从库的my.cnf配置文件的[mysqld]节点下增加

server_id=163

replicate-ignore-table=dbname.table1,dbname.table2 //需要忽略同步的表

重启mysql服务后登录mysql数据库,执行以下命令:

change master to master_host='192.168.23.160', master_port=3306, master_user='sync', master_password='123456', master_log_file='mysql-bin.000004', master_log_pos=425;

master_log_file、master_log_pos为主库通过“how master status;”命令查询出来的结果。

通过show slave status \G;查看从库的连接状态

在这里插入图片描述

Slave_IO_Running、Slave_SQL_Running状态都为“Yes”表示成功。

注意:服务器直接要开放3306 端口,或者关闭防火墙!

初次配置可能会有Slave_IO_Running、Slave_SQL_Running状态都为“No”的情况,重启从库可以解决(保证主、从库配置正确、网络连接正常)。

日志配置

随着数据增多,日志文件会越来越多,需要定时清理日志,不然日志文件会占满磁盘。

在my.cnf 添加:expire_logs_days=[days] – 天数,表示在主数据库日志切换的时候会删除指定天数以前的日志;max_binlog_size 可以设置单个二进制文件的大小。

日志文件目录修改(主库)

1、关闭mysql服务

2、将原目录(/var/lib/mysql)下的mysql-bin.*文件移动到新的目录下(/home/mysql-logs),目录要有可读写权限;修改mysql-bin.index文件中的文件目录为绝对路径,如:/home/mysql-logs/mysql-bin.000001。

3、修改配置文件,log_bin=home/mysql-logs/mysql-bin

4、启动mysql服务

读写分离(mysql-proxy)

windows 下配置

[mysql-proxy]
admin-lua-script=D:/tools/mysql-proxy/lib/mysql-proxy/lua/admin.lua
proxy-backend-addresses=192.168.23.160:3306  -- 主库
proxy-read-only-backend-addresses=192.168.23.163:3306  -- 从库
proxy-lua-script=D:/tools/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
log-file=D:/tools/mysql-proxy/log/mysql-proxy.log
log-level=debug
daemon=true
keepalive=true

Linux 下配置

安装pkg-config

1、编译mysql-proxy

**注:**0.8.5 不需要编译,也不需要有安装pkg-config

用mysql-proxy -V查看mysql-proxy的相关信息,这里留意下版本信息,将会在第三步配置lua路径的时候用到;

2、使用vim /etc/mysql-proxy.cnf命令打开mysqk-proxy的配置文件进行编辑:

在mysql-proxy.cnf中输入如下内容:

[mysql-proxy] 
admin-username=user   #admin用户名
admin-password=password    admin密码
admin-lua-script=/usr/lib64/mysql-proxy/lua/admin.lua    #lua位置,参见上面的版本信息
daemon=true   # mysql-proxy以守护进程方式运行
keepalive=true    #保持连接启动进程会有2个, 一号进程用来监视二号进程
proxy-backend-addresses=10.17.6.210   #目标地址,Indb内网地址,默认端口3306,10.17.6.210是目标inDB的ip
log-file=/var/log/mysql-proxy.log    #日志文件存储路径
log-level=debug

编辑完之后通过Esc退出编辑,然后用“:wq”保存mysql-proxy.cnf的编辑。

3、用chmod 0660 /etc/mysql-proxy.cnf命令来改变配置文件的权限,然后用 mysql-proxy --defaults-file=/etc/mysql-proxy.cnf启动mysql-proxy服务:

chmod 0660 /etc/mysql-proxy.cnf
mysql-proxy --defaults-file=/etc/mysql-proxy.cnf

4、用mysql -h$uhost_ip -P4040 -u$User -p$Password测试:

mysql -h106.75.94.37 -P4040 -uroot -p123456

$uhost_ip:UHost的外网IP $User:用户名 $Password:数据库密码

注意:打开防火墙的4040端口,MySQL-Proxy默认端口为4040,通过访问4040端口就可以访问3306端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/87198.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jsp 图书销售系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 图书销售系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

SpringBoot 使用 Sa-Token 完成权限认证

一、设计思路 所谓权限认证,核心逻辑就是判断一个账号是否拥有指定权限: 有,就让你通过。没有?那么禁止访问! 深入到底层数据中,就是每个账号都会拥有一个权限码集合,框架来校验这个集合中是…

异步I/O优化Python代理程序性能

作为一名爬虫程序员,你是否曾经遇到过需要处理大量网络请求的情况?你是否想要提高你的Python代理程序的性能,让它更快、更高效?别担心,我来给你分享一些关于异步I/O如何优化Python代理程序性能的实用知识。 首先&…

Haproxy 搭建集群实验

Haproxy HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。 HAProxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理。 HAProxy的主要特性 可…

Prometheus+Grafana+AlertManager监控SpringBoot项目并发送邮件告警通知

文章目录 PrometheusGrafanaAlertManager监控平台搭建新建SpringBoot项目为Prometheus提供指标新建项目,引入依赖新建接口,运行程序 推送指标到pushgateway 开始监控Grafana连接Prometheus数据源导入Grafana模板监控SpringBoot项目 邮件告警通知同系列文…

SAP‘s ECC6 EoL(End of Life) 支持服务声明 2027?

前言 一、EoL公告信息,2027? 二、继续使用ECC6.0的选项 1.引入第三方支持 2.S/4 HANA 3.SAP Business ByDesign 4.SAP Business One 总结 最新的公告是:2027年,SAP ECC 6.0将停止得到支持,并退出主流SAP支持&am…

PostgreSQL-研究学习-介绍与安装

PostgreSQL-预研 是个很厉害的数据库的样子 ψ(*`ー)ψ 官方文档:http://www.postgres.cn/docs/12/ 总的结论和备注 PgSQL 支持对JSON的支持很强大,以及提供了很多数学几何相关的数据类型【例:点,线条,几何…

亿级短视频,如何架构?

说在前面 在尼恩的(50)读者社群中,经常指导大家面试架构,拿高端offer。 前几天,指导一个年薪100W小伙伴,拿到字节面试邀请。 遇到一个 非常、非常高频的一个面试题,但是很不好回答&#xff0…

【Java 高阶】一文精通 Spring MVC - 转换器(五)

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

table,设置 数据相同时, 合并列

<el-table :data"tableData" :span-method"objectSpanMethod" border style"width: 100%" show-summary><el-table-column type"index" label"序号" width"100" /><el-table-column prop"dat…

红日靶场(一)vulnstack1 渗透过程分析

文章目录 环境搭建信息收集PhpMyAdmin 后台 Getshellinto outfileMysql日志文件写入shell CS后渗透MSF后渗透知识补充nmap参数分类参数速查表 dirsearch 环境搭建 ip段设置 kali (coleak)&#xff1a;192.168.145.139 Windows 7 (stu1)&#xff1a;192.168.10.181、192.168.1…

Java后端:html转pdf实战笔记

1、htmltopdf有什么用? htmltopdf 是一款基于wkhtmltopdf技术的html转pdf文档java类库,支持html转pdf和url转pdf。 2、什么是wkhtmltopdf wkhtmltopdf是一个用webkit网页渲染引擎开发的用来将html转成 pdf的工具,可跟多种脚本语言进行集成来转换文档,有windows、linux等平…

云南森林火灾vr消防模拟安全演练系统训练消防员火灾和事故的适应和应对能力

据统计,每一场破坏性地震发生后,会引发次生的灾害,而火灾是其中之一。导致火灾的原因,推测是地震时使供电线路短路,引燃易燃物,火灾就随即发生。所以,在日常生活中,定期的消防演练还是非常必要的, VR消防&#xff0c;是VR公司深圳华锐视点利用VR虚拟现实技术&#xff0c;将VR和…

发力服务业务,龙湖集团半程领跑赢在“智慧”

成立三十载&#xff0c;龙湖集团一直是房地产行业“特立独行”的存在。 一方面&#xff0c;龙湖在对外战略方面长期量入为出&#xff0c;从不背上过重的“包袱”。 不久前&#xff0c;一则消息引发市场关注&#xff1a;龙湖集团提前偿还17亿元债务&#xff0c;已基本全部还清…

2023年国赛 高教社杯数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…

GMS基本模块TIN、Solids、Modflow2000/2005、MT3DMS、MODPATH。及其在地下水流动、溶质运移、粒子追踪方面的应用

解决地下水数值模拟技术实施过程中遇到的困难&#xff0c;从而提出切实可行的环境保护措施&#xff0c;达到有效保护环境、防治地下水污染&#xff0c;推动经济社会可持续发展的目的。 &#xff08;1&#xff09;水文地质学&#xff0c;地下水数值模拟基础理论&#xff1b;&am…

鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统 em

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff…

GCC编译器优化等级的选择

GCC编译器通常提供多个优化级别供选择&#xff0c;每个级别对代码进行不同程度的优化。以下是GCC编译器常见的优化级别&#xff1a; 无优化&#xff08;-O0&#xff09;&#xff1a;这是默认的优化级别&#xff0c;编译器不执行任何优化。适用于调试目的或要求最小编译时间的情…

【LeetCode】模拟实现FILE以及认识缓冲区

模拟实现FILE以及认识缓冲区 刷新缓冲逻辑图自定义实现如何强制刷新内核缓冲区例子 刷新缓冲逻辑图 自定义实现 mystdio.h #pragma once #include <stdio.h>#define NUM 1024 #define BUFF_NOME 0x1 #define BUFF_LINE 0x2 #define BUFF_ALL 0x4typedef struct _MY_FIL…

ChatGPT-4: 半年的深度使用思考

几个月的时间一直在使用 ChatGpt-4&#xff0c;以口述语音转文字的形式说一下自己的体会。 1、选择版本 大前提&#xff1a;我使用的都是 GPT4 的版本。也就是说至少每个月要付费20$。 因为 3.5 的版本&#xff0c;实际上使用体验是非常差的&#xff0c;主要体现在答非所问上。…