Mysql-replication(主从复制)

作者 : 开心源码 本文共1345个字,预计阅读时间需要4分钟 发布时间: 2022-05-13 共210人阅读

### Mysql-replication(主从复制)

概念:主从复制AB复制,允许将来自一个Mysql数据库服务器(主服务器)的数据复制到一个或者多个Mysql数据库服务器(从服务器)

根据配置,您可以复制数据库中的所有数据库,所选数据库甚至选定的表

Mysql主从复制优点:

1.横向策略,可以增加多台从服务器。主服务器负责写入和升级。从服务器复制,提高读取速度。

2.数据安全。主服务器宕机,从服务器可顶替主服务器继续工作

3.分析数据

4.备份,减轻主服务器压力

*Replication原理:*

主服务器上边的任何修改都会保存在二进制日志(Bin-log)日志里面*

*从服务器上面启动一个I/O线程,连接到主服务器上面请求读取二进制日志,将读取的二进制日志写在本地的Realy-log(中继日志)里面。*

*开启SQL线程,读取中继日志Realy-log,发现有升级立即把升级内容在本机的数据库上边执行一遍*

执行步骤:

1.在主从服务器上进行解析:

例:主服务器: 192.168.1.2? mysql-master

? ? ? ? 从服务器: 192.168.1.3? mysql-slave

分别加入到两台服务器的解析中:

vim /etc/hosts

192.168.1.2? mysql-master

192.168.1.3? mysql-slave

2.开启主服务器二进制日志并配置唯一的服务器ID:指定日志位置并授予权限,重启主服务器数据库服务

vim /etc/my.cnf

[mysqld]

log-bin=/var/log/mysql/mysql-bin

server-id=1

mkdir /var/log/mysql/

chown mysql.mysq /var/log/mysql

systemctl restart mysqld

从服务器:开启server-id =2

3.主服务器:创立客户授予复制的权限

grant replication slave on? ? * . *? to? ‘repl’@’%’? identified by ‘123’

4.从服务器进行测试:

mysql -urepl -p’123′? -h mysql-master

5.主服务器查看:? show master status \G;

6.从服务器执行:

[root@mysql-slave1 ~]# mysql -uroot -p’dY3K2((y/hhk’

mysql> CHANGE MASTER TO

MASTER_HOST=’mysql-master’,?

MASTER_USER=’repl’,

MASTER_PASSWORD=’123′,

MASTER_LOG_FILE=’mysql-bin.000002′,

MASTER_LOG_POS=681;

#MASTER_HOST: 主服务器的主机名或者者是ip地址

#MASTER_USER: 主服务器的客户名,我们设置的是repl

#MASTER_PASSWORD: 密码

#MASTER_LOG_FILE:日志文件是哪个

#MASTER_LOG_POS:日志的位置

mysql> start slave;? # 主服务器不需要启动

mysql> show slave status\G # 均为yes就可

? ? ? ? ? ? Slave_IO_Running: Yes

? ? ? ? ? ? Slave_SQL_Running: Yes

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Mysql-replication(主从复制)

发表回复