Mysql-replication(主从复制)
### 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(主从复制)