实现在同一台linux主机上mysql主从复制与读写分离

搭建MySQL读写分离(一主一从) 目录#注意:MySQL读写分离是基于主从复制实现的一、MySQL读写分离实现类型 (一)基于程序代码内部实现1、select与insert进行路由分类2、一般由开发人员操作3、生产环境经常使用(二)基于中间代理层实现 1、MySQL-Proxy2、Amoeba (三)知识点补充 1、事务 2、事务通常需要满足四个属性:二、搭建MySQL读写分离(一)准备工作1、由于MySQL读写分离是基于主从复制实现的,所以首先搭建MySQL主从复制;详见http://t.cs 阅读详情

环境情况:由于资源有限,仅在一台CentOS release 6.6上实现M-S主从复制与读写分离

一、mysql安装与配置

具体安装过程建议参考我的上篇一博客文章


二、mysql主从复制

主从服务器场景如下

主(m)   :172.30.204.111:3307

从1(s1):172.30.204.111:3308

从2(s2):172.30.204.111:3309

[root@master dingmingyi]# netstat-anlpt|grep mysql

tcp       0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      19411/mysqld       

tcp       0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN     19734/mysqld       

tcp       0      0 0.0.0.0:3309                0.0.0.0:*                   LISTEN      20202/mysqld

 

2.1主服务器操作:

[root@master dingmingyi]# cat /usr/local/mysql-m/etc/my.cnf

[mysqld]

basedir=/usr/local/mysql-m

datadir=/opt/database-m

socket=/var/run/mysql-m/mysql-m.sock

pid-file=/var/run/mysql-m/mysql-m.pid

port=3307

user=mysql

server-id=1                          

log-bin=mysql-bin

binlog_ignore_db=mysql

character_set_server=utf8

[mysqld_safe]

log-error=/var/log/mysql-m/mysql--error.log

[mysql]

socket = /var/run/mysql-m/mysql-m.sock

default-character-set=utf8

 

只要在my.cnf里面添加内容都要重新启动服务#service mysql-m restart

[root@master dingmingyi]#/usr/local/mysql-m/bin/mysqladmin -uroot password '321321'  -S /var/run/mysql-m/mysql-m.sock               #为M-mysql设置密码;

[root@master dingmingyi]# /usr/local/mysql-m/bin/mysql-uroot -p321321 -S /var/run/mysql-m/mysql-m.sock

 

授权给从服务器

mysql> grant replication slave on *.* tos1@localhost identified by '123123';

mysql> grant replication slave on *.* tos2@localhost identified by '123123';

mysql>flush privileges;

 

查询主数据库状态

mysql>  show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      670 |              | mysql            |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

记录file和position的值,在配置从服务器时需要用到

 

2.2从服务器操作

修改从服务器配置文件/usr/local/mysql-s1/etc/my.cnf

将server-id=10 ,确保此id与主服务器不同                                                     #设置多个从服务器必须与M-S和S-S都不同

同样在[mysql]下增加default-character-set=utf8 ,在[mysqld]下增加character_set_server=utf8

重启服务

 

登陆从服务器

/usr/local/mysql-s1/bin/mysql -uroot -p -S/var/run/mysql-s1/mysql-s1.sock              #由于没设密码,可以直接回车进入

 

执行同步语句

>change master to

 master_host='localhost',

 master_user='s1',

master_password='123123',

master_log_file='mysql-bin.000001',

master_log_pos=670,

master_port=3307;                                #一定要指定相应的端口号,不然在查看状态时会出错

>start slave;

 

 

mysql> show slave status\G

*************************** 1. row ***************************

                  Slave_IO_State: Waiting for master to send event

                       Master_Host: localhost

                       Master_User: s1

                        Master_Port: 3307

                   Connect_Retry: 60

                Master_Log_File: mysql-bin.000001

    Read_Master_Log_Pos: 670

                     Relay_Log_File: mysql-s1-relay-bin.000002

                     Relay_Log_Pos: 283

    Relay_Master_Log_File: mysql-bin.000001

               Slave_IO_Running: Yes            #以下两排都要为YES才表明状态正常

            Slave_SQL_Running: Yes

                 Replicate_Do_DB:          

   …………………………..省略若干…………………………………

 

 

另一从服务器也做类似以上操作。

 

2.3 验证主从复制效果

主服务器上操作

mysql> create database ding;

Query OK, 1 row affected (0.00 sec)

 

mysql> create table ding.d_tb(id int(3),name char(16),age char(4));

Query OK, 0 rows affected (0.14 sec)

 

mysql> insert into ding.d_tb values(001,'xixi','23');

Query OK, 1 row affected (0.03 sec)

 

两台从服务器上都可以查看相同的内容

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| ding             |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.00 sec)

 

mysql> use ding;

Database changed

 

mysql> show tables;

+------------------+

| Tables_in_d_test |

+------------------+

| d_tb             |

+------------------+

1 row in set (0.00 sec)

 

mysql> select * from ding.d_tb;

+------+------+------+

| id   | name | age  |

+------+------+------+

|    1 | xixi | 23   |

+------+------+------+

1 row in set (0.00 sec)

同步成功!!!

 

三、Mysql-proxy读写分离

 Mysql-proxy代理:将写操作分到mysql-master,读操作分到mysql-slave

Mysql-proxy的读写分离是通过rw-splitting.lua脚本实现,因此需要安装lua

3.1安装lua

[root@master dingmingyi]# yum -y install gcc gcc-c++ libedit libedit-devel libtermcap-devel ncurses-devel libevent-devel readline-devel

[root@master dingmingyi]# wget http://www.lua.org/ftp/lua-5.2.3.tar.gz

[root@master dingmingyi]# tar zxvf lua-5.2.3.tar.gz

[root@master dingmingyi]#cd lua-5.2.3

[root@master lua-5.2.3]#make linux

[root@master lua-5.2.3]#make install

 

3.2 下载mysql-proxy

[root@master dingmingyi]#wget http://mirrors.sohu.com/mysql/MySQL-Proxy/mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz

[root@master dingmingyi]# tar zxvf mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz

[root@master dingmingyi]# mv mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit /usr/local/mysql_proxy

[root@master dingmingyi]# cd /usr/local/mysql_proxy/

[root@master mysql_proxy]# mkdir scripts

[root@master mysql_proxy]# cp share/doc/mysql-proxy/rw-splitting.lua scripts/

[root@master mysql_proxy]# vim scripts/rw-splitting.lua

 

if not proxy.global.config.rwsplit then

     proxy.global.config.rwsplit = {

              min_idle_connections = 1,           #默认4           改为1,表示最小链接数只有超过1时才会进行读写分离

             max_idle_connections = 1,           #默认8

 

         is_debug = false

      }

end

 

 

[root@master mysql_proxy]# vim proxy.conf      #此为手动创建

 

  1 [mysql-proxy]

  2 admin-username=proxy

  3 admin-password=123123

  4

  5 admin-lua-script=/usr/local/mysql_proxy/lib/mysql-proxy/lua/admin.lua                       #定义管理脚本路径

  6 proxy-read-only-backend-addresses=172.30.204.111:3308,172.30.204.111:3309        #读服务器地址

  7 proxy-backend-addresses=172.30.204.111:3307                         #写服务器地址

  8 proxy-lua-script=/usr/local/mysql_proxy/scripts/rw-splitting.lua                 #读写分离脚本路径

  9 log-file=/var/log/mysql-proxy.log

 10 log-level=debug

 11 daemon=true

 12 keepalive=true

~                  

[root@master mysql_proxy]# chmod 660 proxy.conf

 

[root@master mysql_proxy]# bin/mysql-proxy -P 172.30.204.111:3310 --defaults-file=/usr/local/mysql_proxy/proxy.conf

[root@master mysql_proxy]# lsof -i:3310

COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME

mysql-pro 1416 root   10u  IPv4 1011376      0t0  TCP master.jay.com:dyna-access (LISTEN)

 

 

登陆主服务器上

mysql> grant all on *.* to proxy@'%'identified by '123123';

mysql>flush privileges;

 

由于配置了主从复制,可以在从数据库服务器上查看到同步的数据

从服务器上

mysql> select host,user,password from mysql.user;     

+----------------+-------+-------------------------------------------+

| host           | user  | password                                  |

+----------------+-------+-------------------------------------------+

| localhost      | root  |                                           |

| master.jay.com | root  |                                           |

| 127.0.0.1      | root  |                                           |

| ::1            | root  |                                           |

| localhost      |       |                                           |

| master.jay.com |       |                                           |

| %              | proxy | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |

+----------------+-------+-------------------------------------------+

7 rows in set (0.00 sec)

 

 

为了更显著看到读写分离效果,现将两台slave关闭

mysql> stop slave;

 

注:这里以ding.d_tb为测试数据库,由于前面进行主从复制,在从服务器中也存在ding.d_tb库。

为了看到单点效果,现做如下操作:

mysql> insert into ding.d_tbvalues(004,'master','4');                   ----〉主服务器

mysql> insert into ding.d_tbvalues(005,'slave-1','5');                 -----〉从服务器 s1

mysql> insert into ding.d_tbvalues(006,'slave-2','6');                 ----->从服务器s2

 

测试机已安装mysql,现远程连接mysql-proxy

[root@ldap mysql-p]# bin/mysql -uproxy -p123123 -h172.30.204.111 -P3310 –e” insert into d_tb values(002,'dingding','25');”     #插入数据

 

[root@ldap mysql-p]# bin/mysql -uproxy -p123123 -h172.30.204.111 -P3310    

mysql> select * from ding.d_tb;      #此时看到的是从服务器s1上的数据,上一步添加的数据没有

+------+----------+------+

| id   | name     | age  |

+------+----------+------+

|    1 | xixi     | 23   |

|    2 | haha     | 24   |

|    2 | dingding | 25   |

|    5 | slave-1  | 5    |

+------+----------+------+

4 rows in set (0.00 sec)

 

去主库中查询:

mysql>  select * from ding.d_tb;

+------+----------+------+

| id   | name     | age  |

+------+----------+------+

|    1 | xixi     | 23   |

|    2 | haha     | 24   |

|    2 | dingding | 25   |

|    4 | master   | 4    |

|    2 | dingding | 25   |

+------+----------+------+

 

数据已插入

 

最后检查从数据库

S1:

mysql>  select * from ding.d_tb;

+------+----------+------+

| id   | name     | age  |

+------+----------+------+

|    1 | xixi     | 23   |

|    2 | haha     | 24   |

|    2 | dingding | 25   |

|    5 | slave-1  | 5    |

+------+----------+------+

4 rows in set (0.00 sec)

 

S2:

mysql>  select * from ding.d_tb;

+------+----------+------+

| id   | name     | age  |

+------+----------+------+

|    1 | xixi     | 23   |

|    2 | haha     | 24   |

|    2 | dingding | 25   |

|    6 | slave-2  | 6    |

+------+----------+------+

4 rows in set (0.00 sec)

 

由于关闭了主从同步,也没有记录。

 

现停掉S1服务   #service mysql-s1 stop

再次登陆测试机

[root@ldap mysql-p]# bin/mysql -uproxy -p123123 -h172.30.204.111 -P3310

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.6.24-debug Source distribution

 

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> select * from ding.d_tb;     

+------+----------+------+

| id   | name     | age  |

+------+----------+------+

|    1 | xixi     | 23   |

|    2 | haha     | 24   |

|    2 | dingding | 25   |

|    6 | slave-2  | 6    |

+------+----------+------+

4 rows in set (0.00 sec)

 

发现已自动切到S2上读取数据了

 

由此验证,已经实现mysql读写分离,目前写操作都在master主服务器上,用了避免数据不同步;读操作都分摊给其他各个slave从服务器,用来分担数据库压力。

 


===================================================================

配置过程出现的问题及相应的解决方法

1、mysql> showmaster status;

Empty set (0.00 sec)

 

解决:没开启log-bin导致。在主服务器my.cnf中[mysqld]添加log-bin=mysql-bin,重启

 

2、mysql> show slavestatus\G;

*************************** 1. row***************************

               Slave_IO_State: Connecting tomaster

                  Master_Host: localhost

                  Master_User: s1

                  Master_Port: 3308

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000001

         Read_Master_Log_Pos: 120

               Relay_Log_File:mysql-s1-relay-bin.000001

                Relay_Log_Pos: 4

       Relay_Master_Log_File: mysql-bin.000001

            Slave_IO_Running: Connecting

           Slave_SQL_Running: Yes

 

解决:

对照以下三条:网络不通、密码不对、pos不对

>stop slave;

>change master to

   master_host='localhost',

   master_user='s1',

   master_password='123123',

   master_log_file='mysql-bin.000001',

master_log_pos=120,

master_port=3307;         #一定要指定端口号

>start slave;

 

3、mysql> show slavestatus\G;

……………….省略若干………………….

ERROR:

No query specified

 

解决:mysql> show slave status\G不要后面的;(==》分号)

 

4、# make linux

cd src && make linux

make[1]: Entering directory`/home/dingmy/lua-5.2.4/src'

make allSYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl-lreadline"

make[2]: Entering directory `/home/dingmy/lua-5.2.4/src'

gcc -O2 -Wall -DLUA_COMPAT_ALL-DLUA_USE_LINUX    -c -o lua.o lua.c

lua.c:67:31: error: readline/readline.h: Nosuch file or directory

lua.c:68:30: error: readline/history.h: Nosuch file or directory

lua.c: In function ?.ushline?.

lua.c:265: warning: implicit declaration offunction ?.eadline?

lua.c:265: warning: assignment makespointer from integer without a cast

lua.c: In function ?.oadline?.

lua.c:297: warning: implicit declaration offunction ?.dd_history?

make[2]: *** [lua.o] Error 1

make[2]: Leaving directory`/home/dingmy/lua-5.2.4/src'

make[1]: *** [linux] Error 2

make[1]: Leaving directory`/home/dingmy/lua-5.2.4/src'

make: *** [linux] Error 2

 

解决:yum install readline-devel

 

5、

[root@master dingmingyi]#/usr/local/mysql-m/bin/mysql -uroot -p321321 -S /var/run/mysql-m/mysql-m.sock

Warning: Using a password on the commandline interface can be insecure.

/usr/local/mysql-m/bin/mysql: Unknown OScharacter set 'GB18030'.

/usr/local/mysql-m/bin/mysql: Switching tothe default character set 'latin1'.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.24-debug-log Sourcedistribution

 

Copyright (c) 2000, 2015, Oracle and/or itsaffiliates. All rights reserved.

 

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

 

mysql>

 

解决:

# vim /usr/local/mysql-m/etc/my.cnf

在[mysql]下增加default-character-set=utf8 

在[mysqld]下增加character_set_server=utf8

# service mysql-m restart

 

 

6、[root@ldap mysql-p]#bin/mysql -uproxy -p123123 -P3310 -h172.30.204.111

Warning: Using a password on the commandline interface can be insecure.

ERROR 1045 (28000): Access denied for user'proxy'@'master.jay.com' (using password: YES)

 

解决:进入主服务器中

mysql> select host,user,password frommysql.user;

+----------------+--------+-------------------------------------------+

| host           | user   | password                                  |

+----------------+--------+-------------------------------------------+

| localhost      | root  | *4160291B4C8CC2573CC94951203FFBC858754907 |

| master.jay.com | root   |                                           |

| 127.0.0.1      |root   |                                           |

| ::1            | root   |                                           |

| localhost      |       |                                           |

| master.jay.com |        |                                           |

| localhost      | s1    | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |

| localhost      | s2    | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |

| %              | proxy  | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |

| %              | proxy1 |*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |

+----------------+--------+-------------------------------------------+

10 rows in set (0.00 sec)

 

mysql> delete from mysql.user wherehost='master.jay.com';      #删除host=master.jay.com

Query OK, 2 rows affected (0.00 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

重新连接mysql-proxy成功!!

 

 

 


MySQL实现读写分离 读写分离 读写分离其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。使用读写分离可以大大降低数据库服务器的负载。 环境搭建 rhel7.3 server1:172.25.61.1(读写) server2:172.25.61.2(只读) server3:172.25.61.3(调度) server1和server... 阅读详情

相关推荐

Linux学习:虚拟机Centos的MySQL与主机的MySQL实现主从复制

说明 在大学学习linux时,学习了linux中mysql与主机的主从配置,现在需要主从的mysql,发现已经忘的差不多了,就重新学习了一下如何配置,跟着教学视频将主要内容步骤在这里记录下。 正文 本次学习,Linux中使用的是Centos和MySQL的5.5.48版本,关于Linux下mysql的安装请看之前的博文《Linux下安装MySQL》,这里不再做过多的赘述。 在开始配置如何...

wds的博客 2022

Linux--MySQL主从复制与读写分离

在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力这样的方案来进行部署与实施的。

2301_77023501的博客 1426

从SN65HVD230芯片手册出发,手把手教你搞定3.3V CAN收发器电路(附典型应用图)

本文详细解析TI SN65HVD230芯片手册,指导完成3.3V CAN收发器电路设计。从关键参数解读到基础电路搭建,再到高级功能实现与EMC优化,提供完整的接口电路设计方案,并附典型应用图和故障排查指南,助力开发者提升CAN总线通信质量。

weixin_29997523的博客 507

Linux系统实现MySQL的主从复制及读写分离

在Linux部署Mysql,实现主从复制及读写分离

weixin_65607252的博客 582

电子结构设计(EMD)十年知识总结

客官,你的面相是做结构设计的奇才~1. 材料选择【一出手的0.1s就败了】2. 钣金件设计【折来折去有啥难】3. 塑胶件设计【看着好复杂】4. 型材件设计【凭啥不让我设计】5. 电子结构(PCBA)设计【静电肿么要我背锅】6. 包装设计【要的就是金玉其外,败絮其中】7. 外观(工业)设计【好不好看,谁说了算】8. 标签设计【】9. 标准件选择【一个螺丝难倒英雄汉/提起螺丝,英雄气短】10. 计算仿...

wfeng86的博客 1569

树莓派4B:控制步进电机

文章目录准备阶段接线阶段树莓派程序 准备阶段 准备以下物品,淘宝都可以买到: 57步进电机 电源开关(220v转24v,3A,72W) 步进电机驱动器 电源线 电线 杜邦线 树莓派4B一套 具体型号如下: 接线阶段 整体:接线效果如下图 电源开关起220v转24v作用,很好接线,输出24v接入步进电机驱动器 步进电机驱动器的 A+ A- B+ B- 按提示接步进电机四线,步进电机上就会有说...

学习路上的鸭子的博客 1万+

mysql主从复制主机读_【转】同一台linux主机上实现mysql主从复制与读写分离

一、mysql主从复制主从服务器场景如下主(m) :172.30.204.111:3307从1(s1):172.30.204.111:3308从2(s2):172.30.204.111:3309[root@master dingmingyi]# netstat-anlpt|grep mysqltcp0 0 0.0.0.0:3307 0.0....

weixin_36469682的博客 167

IC验证 AHB-RAM 项目(二)——接口与事务代码的编写

本文介绍了准备工作及接口、事务相关代码编写要点。在接口部分,重点说明了lvc_ahb_if.sv、rkv_ahbram_if.sv和rkv_ahbram_tb.sv三个关键文件的功能,其中rkv_ahbram_if.sv通过动态任务实现复位信号控制。事务部分则涉及lvc_ahb_types.sv中的枚举类型定义和lvc_ahb_transaction.sv中的随机化变量设置,用于构建AHB传输激励。整个验证环境采用模块化设计,通过接口实现TB与DUT的通信,为后续验证工作奠定基础。

weixin_45926435的博客 405

mysql在同一台机器上实现主从_同一台主机上的MySQL主从复制

MySQL复制是使来自一个MySQL数据库服务器(主数据库)的数据自动复制到一个或多个MySQL数据库服务器(从数据库)的过程。它通常用于在多台服务器上扩展读取访问权限以实现可伸缩性,尽管它也可以用于其他目的,例如故障转移或分析从属服务器上的数据,以免使主服务器过载。由于主从复制是单向复制(从主到从),因此只有主数据库用于写操作,而读操作可能会散布在多个从数据库上。这意味着如果将主从复制用作横向扩...

weixin_34360879的博客 1411

​银行IT运维人必看!IT运维监控指标大全,一篇讲透

文章摘要:本文从七个维度系统阐述了IT运维指标体系,涵盖机房环境、基础设施、网络设施、数据存储、虚拟化平台、数据库中间件和应用层。作者结合20年金融行业经验,详细分析了各层级关键监控指标、正常范围及异常后果,并给出典型故障场景。重点强调现代运维需从被动响应转向主动预防,通过精细化指标管理实现系统稳定性保障。文章特别指出,在国产化与DevOps背景下,运维工作需兼顾传统架构与新兴技术,构建全方位监控体系,将运维从"故障报警"升级为"业务守护"。

最近开始研究AIGC领域技术,欢迎交流 1106

SAP 人力资源工资配置项3---工资项配置

工资项设置

xiouluoyang的专栏 1万+

MySQL 主从复制与读写分离

读写分离,基本的原理是让主数据库处理事务性增、改、删操作( INSERT、UPDATE、DELETE) ,而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。主服务器提供写,从服务器提供读。

w2304948626的博客 1676

在 Fiori Elements Object Page 的表格中用 UI.Hidden 隐藏列:语义、边界与落地实践全解析

摘要: Fiori Elements的Object Page表格中,UI.Hidden注解支持静态和动态隐藏列。动态隐藏分为两种:基于父实体属性隐藏整列,或基于子实体属性按行隐藏单元格。关键约束包括:支持服务端操作的列禁止使用动态隐藏,否则会导致UX不一致。ABAP CDS不支持路径式UI.Hidden,需改用XML注解。该功能需与UI.Importance、个性化等机制明确区分,避免混淆。对于可能参与排序/过滤的列,建议仅使用静态隐藏。实际应用中需注意注解位置(整列或单元格级)和业务场景的匹配。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 205

SpringBoot环境-MySQL主从复制,读写分离的实现

记录sharding-jdbc框架的使用-主从复制,读写分离实现的步骤及测试。

maohe的博客 3459

S7-200SMART 中如何实现单按钮启停功能(两种方法)?

S7-200SMART 中如何实现单按钮启停功能(两种方法),Toggle库指令,状态翻转

Robot_PLC_HMI_Automation 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

mysql主从复制、读写分离

当 slave 从库宕机后,假如 relay-log 损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的 relay-log,并且重新从 master 上获取日志,这样就保证了relay-log 的完整性。读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。#配置同步,注意 master_log_file 和 master_log_pos 的值要与Master查询的一致,这里的是例子,每个人的都不一样。

mikechen1的博客 1030

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux之MySQL主从复制

MySQL的主从复制()是一种数据复制解决方案,将主数据库的DDL(数据定义语言)和DML(数据操纵语言)操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而是的从库和主库的数据保存同步。MySQL支持将数据从一个MySQL服务器(主服务器)复制到一个或多个其他MySQL服务器(从服务器),从库同时也可以作为其他从服务器的主库,实现链状复制。MySQL主从复制的优点主要包含以下三个方面:主库出现问题,可以快速切换到从库提供服务;实现读写分离,降低主库的访问压力;

2302_79087378的博客 2388

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

实现mysql的主从复制、实现MySQL的读写分离与负载均衡

/增加 定义中继日志索引文件名(记录很多的中继日志文件)默认情况,中继日志使用host_name-relay-bin.nnnnnn形式的文件名,其中host_name是从服务器主机名,nnnnnn是序 列号。[root@centos1 ~]# cp /mnt/jdk-6u14-linux-x64.bin /usr/local/(需要提前准备好软件,这里的路径需要按照你实际的)log_bin=master-bin //修改 定义bin-log的文件名 (默认保存在数据目录下)

2302_76160310的博客 1312

【MySQL】Spring Boot项目基于Sharding-JDBC和MySQL主从复制实现读写分离(8千字详细教程)

本文详细介绍了如何实现MySQL主从复制,以及Spring Boot项目如何实现读写分离。

Sihang_Xie的博客 2286

Linux-MySQL数据库之主从复制与读写分离

在企业应用中,成熟的业务通常数据量都比较大单台MysQL在安全性、―高可用性和高并发方面都无法满足实际的需求配置多台主从数据库服务器以实现读写分离。MysQL的复制类型1、主服务器 master 记录数据库通过 dump 线程将操作记录到 Binary log2、从服务器开启 I/O 线程向主服务器发送同步日志请求3、主服务器把二进制日志内容发送给从服务器4、从服务器将二进制日志记录的操作同步到relay log (中继日志) (存在从服务器的缓存中)5、从服务器中的sql线程将relay log日志记录的

m0_56107775的博客 667

在同一台机运行多个mysql 服务 & 多个主/从在同一主机_在linux同一台主机下面搭建两个mysql 实例并实现主从复制 (二)...

根据需求现在需要测试mysql主从配置,但是由于本地主机资源有限,现在需要在一台Red Hat主机上面搭建两到三个Mysql实例,以方便测试mysql主从。实验分三大步骤:1,在Red Hat上面安装MySQL server2,利用MySQL的mysqld_multi配置多个实例3,搭建MySQL主从开始实验:2,利用MySQL的mysqld_multi配置多个实例首先确保上一步安装的mysql ...

weixin_39642981的博客 169

mysql主从复制和读写分离

目录 一,主从复制架构和原理 1,mysql主从复制原理 2,读写分离的原理 二,配置主从复制与读写分离 1,环境配置 2,初始环境准备 3,搭建mysql主从复制 3,搭建Amoeba 实现读写分离 三,实际问题 1,造成主从不一致的原因 2,主从不一致修复方法 3,如何避免主从不一致 一,主从复制架构和原理 1,mysql主从复制原理 mysql的复制类型: mysq支持的复制类型 (1)STATEMENT:基于语句的复制。在服务器上执行sql语句,在从服务器上执行同样

LiuHuan303的博客 805

Linux——MySQL主从复制与读写分离实现高可用性,负载均衡的功能

目录标题主从复制二级目录三级目录 为什么会有主从复制和读写分离? 单台MySQL在安全新、高可用性和高并发方面都无法满足实际的需求 配置多台主从数据库服务器以实现读写分离可控的形式来让主从从服务器分别读写减轻服务器的压力 主从复制 MySQL主从复制原理 MySQL的复制类型 基于语句的复制 基于行的复制 混合类型的复制 ★MySQL主从复制的工作过程 基于日志进行复制 master 二进制日志 slave 中继日志 ★原理: 二级目录 三级目录 ...

不够优秀才会那么依赖其他人,不够成熟才会信任所有耀眼的外衣,不够强大才会浪费时光去迎合他们的玩闹! 681

Linux MySQL数据库主从复制,读写分离

数据库主从复制,读写分离

qq_62166387的博客 932

linux 虚拟机和windows mysql 实现主从复制和读写分离

或者“此电脑”图标上点击鼠标右键,在弹出的右键菜单中再点击“管理”,打开计算机管理后,点击左侧下方的“服务和应用程序”,就可以看到服务了)查找操作因为更频繁,所以单独分开放到从库。背景: zabbix 数据库迁移,搭建主从,主是5.6.25,从是5.7.15,流式备份应用 redo.log 之后,change master 和reset slave 时报出如下错误。privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL。

qq_37018378的博客 710
下一篇: mysql编译安装与配置
dmy_521
博客等级 码龄13年 4粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值