MySQL 主从配置

news2025/1/12 7:58:55

环境

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端口。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多旋翼飞控底层算法开发系列实验 | 多旋翼动力系统设计实验2

多旋翼飞控底层算法开发系列实验 | 多旋翼动力系统设计实验2 01/多旋翼动力系统简介 多旋翼无人机的动力系统通常包括螺旋桨、电机、电调以及电池。动力系统是多旋翼最重要的组成部分,它决定了多旋翼的主要性能,如悬停时间、载重能力、飞行速度和飞行距…

一文学会使用ChatGPT API搭建自己的聊天网站

一文读懂如何搭建自己的ChatGPT聊天网站 在数字时代的浪潮下,人工智能正变得愈发令人惊叹和亲近。ChatGPT,就是这个变革的杰出代表。这项令人兴奋的技术将强大的自然语言处理能力带到您的指尖,让您能够以前所未有的方式与计算机进行互动。 …

langchain ChatGPT AI私有知识库

企业知识库 原理就是把文档变为向量数据库,然后搜索向量数据库,把相似的数据和问题作为prompt, 输入到大模型,再利用GPT强大的自然语言处理、推理和分析等方面的能力将答案返回给用户 什么是langchain? langchain是一个强大的…

自定义VIEW之SeekBar

先放效果 实现代码 import android.annotation.SuppressLint import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Rect import android.util.AttributeSet import android…

美团增量数仓建设新进展

摘要:本文整理自美团系统研发工程师汤楚熙,在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分: 1. 建设背景 2. 核心能力设计与优化 3. 业务实践 4. 未来展望 Tips:点击「阅读原文」免费领取 5000CU*小时…

解决 泛型类型转换出现Unchecked cast: ‘java.lang.Object‘ to ‘T‘怎么解决

文章目录 解决 泛型类型转换出现Unchecked cast: java.lang.Object to T怎么解决场景复现如何解决如何应用demo案例说明 解决 泛型类型转换出现Unchecked cast: java.lang.Object to T怎么解决 场景复现 自定义工具类,编写公共方法,根据不同日期类型&a…

动规算法题:打家劫舍Ⅱ

题目链接:打家劫舍Ⅱ 题目分析 状态表示 从题目分析中可以得知,是有偷和不偷的情况,因此根据做题经验,就使用两个数组来对应着两个情况。 状态转移方程 ①当选择偷第i个位置,那就意味着第i-1个位置的值是不能偷的&a…

手搭手入门MyBatis-Plus

MyBatis-Plus Mybatis-Plus介绍 为简化开发而生 MyBatis-Plus(opens new window)(简称 MP)是一个 MyBatis(opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入&#…

大项与小项

小项 n个命题变元的简单合取式,称作小项,其中每个命题变元与它的否定不能同时存在,但每个命题变元必须出现且仅出现一次。 n个命题变元的小项有2^n个 小项的编码:mi,其中i是使得小项等于1的一组指派的二进制表示。 大项…

英飞凌 Tc3xx AURIX 2G多核处理器简介

目录 1、概述 2、AURIX 2G多核架构 2.1、多核简介 2.2、片上总线简介 3、AURIX 2G内核简介 3.1、内核架构 3.2、内核寄存器 3.3、中断处理 4、AURIX 2G内存简介 4.1、内存简介 4.2、内存映射 1、概述 该产品具备多达六核的高性能架构,每个内核的时钟频率最高可达 30…

基于java+swing俄罗斯方块

基于javaswing俄罗斯方块 一、系统介绍二、功能展示三、其他系统实现五、获取源码 一、系统介绍 项目类型:Java SE项目(awtswing)非开源 项目名称:俄罗斯方块(Tertis) 主要技术:java、awt、swing等技术 …

CSDN首页消息发布文章topSpInfo

Java 这东西就是纯粹的概念,而且很多公司还喜欢拿着这个不停的问。 我们平常写的 Class 就是对象。 New 就是把这个 Class 实例化,实例化啥意思,就是在内存中分配空间呗,不实例化,数据存哪里呀。 这里就是有个奇葩的…

错题整理——测开2021网易

1. 某些bug不影响使用时,可以选择先上线,在维护过程中修复。 2. df:查看磁盘使用情况 dir不是linux的常用的命令,不过用dir能够罗列出目录内容;dir默认没有颜色的区别,但也可以设置。现在都使用ls来代替。…

详细手机代理IP配置

嗨,亲爱的朋友们!作为一家代理产品供应商,我知道有很多小伙伴在使用手机进行网络爬虫和数据采集时,常常会遇到一些IP限制的问题。别担心!今天我要给大家分享一下手机IP代理的设置方法,让你们轻松应对这些限…

【C++STL基础入门】string迭代器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、迭代器是什么?二、string迭代器1.定义迭代器理解 2.通过迭代器遍历遍历方式1遍历方式2 3.迭代器失效4.涉及到的迭代函数1、begin()2、end()3、a…

element 图标变颜色和更改大小

需求效果: element自带颜色不符合,且大小不一致。 // 穿透更改图标大小 /deep/ i.el-icon-info{font-size: 20px;} 颜色变化:

SpringCloud学习笔记(三)_服务提供者集群与服务发现Discovery

服务提供者集群 既然SpringCloud的是微服务结构,那么对于同一种服务,当然不可能只有一个节点,需要部署多个节点 架构图如下: 由上可以看出存在多个同一种服务提供者(Service Provider) 搭建服务提供者集…

基于Python的图书馆大数据可视化分析系统设计与实现

博主介绍:✌csdn特邀作者、博客专家、java领域优质创作者、博客之星,擅长Java、微信小程序、Python、Android等技术,专注于Java、Python等技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 …

u盘数据丢失但占内存如何恢复?不要着急,这里有拯救方案

U盘数据丢失但占内存如何恢复?数据丢失是一种让人非常头疼的问题,尤其是当我们的U盘数据丢失了,但内存仍然被占用时,更令人困惑和焦虑。然而,不要慌张!在本文中,将为大家介绍一些有效的方法来恢…

STM32F4X 定时器PWM

STM32F4X 定时器PWM 什么是PWMSTM32F4X PWM使用GPIO引脚复用STM32F4X PWM配置参数定时器PWM输出通道定时器PWM输出模式定时器PWM有效电平定时器PWM工作过程定时器PWM频率计算 STM32F4X PWM配置步骤STM32F4X PWM配置函数 上节说到了定时器的定时功能,这节说一下定时器…