#mysql主从复制
###下载mysql安装包

###安装master mysql

  • . 检查当前机器是否已经安装mysql

yum repolist enabled | grep "mysql.-community."

  • . 解压mysql压缩文件

tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

-rw-r--r--. 1 root root  603985920 Jun 28 16:05 mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
-rw-r--r--. 1 7155 31415 26760484 Apr 9 01:06 mysql-community-client-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 549512 Apr 9 01:06 mysql-community-common-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 4221784 Apr 9 01:06 mysql-community-devel-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 24343708 Apr 9 01:06 mysql-community-embedded-compat-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2349488 Apr 9 01:06 mysql-community-libs-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2156516 Apr 9 01:06 mysql-community-libs-compat-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 119957152 Apr 9 01:06 mysql-community-minimal-debuginfo-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 357581528 Apr 9 01:07 mysql-community-server-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 20562556 Apr 9 01:07 mysql-community-server-minimal-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 45494324 Apr 9 01:07 mysql-community-test-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 631340 May 9 2014 Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
  • . 安装mysql

yum install -y mysql-community-common-8.0.11-1.el7.x86_64.rpm

yum install -y mysql-community-libs-8.0.11-1.el7.x86_64.rpm

yum install -y mysql-community-client-8.0.11-1.el7.x86_64.rpm

yum install -y mysql-community-server-8.0.11-1.el7.x86_64.rpm

  • . 修改root密码

查找初始密码 grep 'password' /var/log/mysqld.log |head -n 1

mysql -u root -p

登录成功购执行下面脚本修改root密码

alter user user() identified by "new password";

###安装slave mysql
同上步骤

###在主节点上创建一个同步账号

1)每个从数据库会使用一个MySQL账号来连接主数据库,所以我们要在主数据库里创建一个账号,并且该账号要授予 REPLICATION SLAVE 权限,你可以为每个从数据库分别创建账号,当然也可以用同一个!)

2)你可以用原来的账号不一定要新创账号,但你应该注意,这个账号和密码会被明文存放在master.info文件中,因此建议单独创一个只拥有相关权限的账号,以减少对其它账号的危害!)

3)创建新账号使用“CREATE USER”,给账号授权使用“GRANT”命令,如果你仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。

CREATE USER 'repl'@'192.168.0.%' IDENTIFIED BY 'repl123';

GRANT REPLICATION SLAVE ON . TO 'repl'@'192.168.0.%';

###配置主数据库

  • 要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。

  • 主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。

  • 复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。

  • 配置二进制日志和Server ID,你需要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。

  • 下面是启用二进制日志,日志文件名以“mysql-bin”作为前缀,Server ID配置为1,如下:

[mysqld]

log-bin=mysql-bin

server-id=1

重启后 查看主服务器状态,mysql> show master status;, 如图:

###配置从数据库

  • 从服务器配置

从服务器,同理,要分配一个唯一的Server ID,需要关闭MySQL,修改好后再重启,如下:

[mysqld]

server-id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

  • 配置连接主服务器的信息

stop slave;

CHANGE MASTER TO MASTER_HOST='192.168.1.233', MASTER_USER='repl', MASTER_PASSWORD='repl123',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=313;

start slave;

  • 查看从服务器状态

show slave status \G;

如果图中两个指标为yes就成功了,现在可以试着创建数据库或者创建表来测试

mysql 读写分离之主从配置的更多相关文章

  1. Mysql读写分离与主从数据库设置方案

    Mysql读写分离与主从数据库设置方案 亿仁网 18-10-0711:31 Mysql无非四个功能:增,删,改,读.而将增删改和读分离操作.这样有利于提高系统性能.下面是非常直观的操作: 1.配置: ...

  2. 【转】双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

    架构简介 前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构.此架构主要是由kee ...

  3. 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

    前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由ke ...

  4. 使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置

    参考博文: MySQL-(Master-Slave)配置  本人按照博友北在北方的配置已成功  我使用的是 mysql5.6.27版本. 使用Atlas实现MySQL读写分离 数据切分——Atlas读 ...

  5. mysql 读写分离,主从同步 理论

    mysql主从复制中:第一步:master记录二进制日志.在每个事务更新数据完成之前,master在二进制日志记录这些改变.MySQL将事务写入二进制日志,即使事务中的语句都是交叉执行的.在事件写入二 ...

  6. Mysql读写分离,主从同步实现

    随着用户量的增多,数据库操作往往会成为一个系统的瓶颈所在,因此我们可以通过实现数据库的读写分离来提高系统的性能. 通过设置主从数据库实现读写分离,主库负责“写”操作,从库负责“读”操作,根据压力情况, ...

  7. 使用Mycat构建MySQL读写分离、主从复制、主从高可用

    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能. 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即S ...

  8. mysql读写分离 主从同步

    MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12   MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy) ...

  9. YII配置mysql读写分离

    Mysql 读写分离 YIi 配置 <?php return [ 'class' => 'yii\db\Connection', 'masterConfig' => [ // 'ds ...

  10. mysql读写分离配置(整理)

    mysql读写分离配置 环境:centos7.2 mysql5.7 场景描述: 数据库Master主服务器:192.168.206.100 数据库Slave从服务器:192.168.206.200 M ...

随机推荐

  1. Mybatis 判断表达式除坑

    Mybatis 判断表达式经常有各种坑,比如数值的判断,空值的判断坑等,可以通过如下代码测试一下是否符合预期 import org.apache.ibatis.ognl.Ognl; import or ...

  2. 蚁群算法及 TSP 问题上的应用

    群智能(Swarm intelligence) 自然界动物群,称之为群. 群的特征: 相互作用的相邻个体的集合 个体的行为简单,既有竞争又有协作 智能化的集体行为(1+1>2): 个体间不仅能够 ...

  3. debian12 创建本地harbor镜像库

    前言 harbor是一个docker/podman镜像管理库,可用于存储私人镜像.现将本人在debian12系统搭建harbor镜像库的过程记录下来,留作后续参考. 可以参考github harbor ...

  4. Golang channel底层是如何实现的?(深度好文)

    Hi 你好,我是k哥.大厂搬砖6年的后端程序员. 我们知道,Go语言为了方便使用者,提供了简单.安全的协程数据同步和通信机制,channel.那我们知道channel底层是如何实现的吗?今天k哥就来聊 ...

  5. Linux后台运行jar文件和关闭Java程序

    后台运行jar文件 Linux 运行jar包 java -jar jar文件名字.jar 这是最简单运行jar文件的命令. 特点:当前命令行窗口将被锁定,可按CTRL + C中止程序运行,或直接关闭窗 ...

  6. WPF实现TextBlock呼吸灯效果

    实现代码 <TextBlock Text="录像中" FontSize="48" Foreground="#ED4646" Horiz ...

  7. CF372C

    思路 根据题意可以得到dp转移方程是 \(f_{i,j}=\max\{f_{i-1,k}+b_i-|a_i-j|\}\) 而且 \(j-(t_{i}-t_{i-1})\times d\le k\le ...

  8. 疑难杂症(已解决) | 为什么出现python中tkinter创建界面需要一闪而过才进入主窗口?

    一.具体问题 如图所示,我编写了一个主窗口的程序(如下所示,有兴趣的可以自己复制后运行),发现需要先进入第一个窗口再进入主界面,这不符合逻辑. 代码区域(完整代码): from tkinter imp ...

  9. 如何在有数BI中实现千人千面的数据推送?

    问题背景 前几天有个项目管理的同学来咨询我一个问题,该项目有一个项目进度信息表,表中有项目名称,项目阶段,项目状态,项目任务等字段,在实际工作中想要实现如下场景: 当项目名称为A时,且项目阶段是需求阶 ...

  10. tp6 uniapp跨越问题

    自己写一个简单的中间件