博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql5.6安装及主从半同步配置
阅读量:6572 次
发布时间:2019-06-24

本文共 3791 字,大约阅读时间需要 12 分钟。

1.安装mysql5.6

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpmyum install mysql-community-server -yrpm -qa|grep mysqlmysql-community-libs-5.6.40-2.el7.x86_64mysql-community-server-5.6.40-2.el7.x86_64mysql-community-release-el7-5.noarchmysql-community-client-5.6.40-2.el7.x86_64mysql-community-common-5.6.40-2.el7.x86_64#到此安装成功
systemctl start mysqldsystemctl enable mysqldmysql_secure_installation #进行一些安全配置,根据选项选择

2. 主从同步配置

添加my.cnf配置参数
#在主库my.cnf [mysqld]中加入log-bin = mysql-binserver-id = 1#从库log-bin = mysql-binserver-id = 2
在主库添加复制账号
grant replication slave on *.* to rep@'192.168.0.%' identified by '123456';
同步主库到从库
(1) 锁表法(锁表的时候不能退出,退出就失效了)
flush table with read lock;       #锁表mysql> show master status;             #锁表记录的位置点+------------------+----------+--------------+------------------+| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000002 |      253 |              |                  |+------------------+----------+--------------+------------------+mysqldump -uroot -p123456 --events -A -B |gzip >/opt/bak_$(date +%F).sql.gz  #比较土的办法加-F 切割binlog可能不对接着show master status; 如果发现位置一样,则锁表生效,如果不一样说明锁表失败,从库也会文件不同步unlock tables;    解锁表
(2) 不锁表方法
mysqldump -uroot -p123456 -A -B -F --master-data=2 -x --events|gzip >/opt/all.sql.gz   show master status; 查看记录的位置点
还原从库
gzip -d bak_xxx.sql.gz    #解压备份的文件mysql -uroot -p123456  
配置从库
mysql -uroot -p123456 -S /data/3307/mysql.sock<< EOFCHANGE MASTER TO  MASTER_HOST='10.0.0.52', MASTER_PORT=3306,MASTER_USER='rep', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=253; EOFstart slave;   #开始同步在从库使用 show slave status\G   出现如下信息成功             Slave_IO_Running: Yes            Slave_SQL_Running: Yes       Seconds_Behind_Master: 0   #这个是从库落后主库的秒数 不是很准

3. 半同步复制配置

3.1 安装插件
#这是半同步所需的插件ll -h /usr/lib64/mysql/plugin/semisync_*-rwxr-xr-x. 1 root root 509K Feb 26 21:27 /usr/lib64/mysql/plugin/semisync_master.so-rwxr-xr-x. 1 root root 273K Feb 26 21:27 /usr/lib64/mysql/plugin/semisync_slave.so#主库加载插件mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';mysql> set global rpl_semi_sync_master_enabled=on;#从库加载插件mysql>  INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';mysql> set global rpl_semi_sync_slave_enabled=on;
3.2 加入my.cnf参数
#主库[mysqld]加入下面参数rpl_semi_sync_master_enabled = 1  #从库[mysqld]加入下面参数rpl_semi_sync_slave_enabled = 1

参数说明

查看参数

show variables like '%Rpl%';
3.3 验证
show global status like 'rpl_semi%';+--------------------------------------------+-------+| Variable_name                              | Value |+--------------------------------------------+-------+| Rpl_semi_sync_master_clients               | 1     || Rpl_semi_sync_master_net_avg_wait_time     | 0     || Rpl_semi_sync_master_net_wait_time         | 0     || Rpl_semi_sync_master_net_waits             | 0     || Rpl_semi_sync_master_no_times              | 0     || Rpl_semi_sync_master_no_tx                 | 0     || Rpl_semi_sync_master_status                | ON    || Rpl_semi_sync_master_timefunc_failures     | 0     || Rpl_semi_sync_master_tx_avg_wait_time      | 0     || Rpl_semi_sync_master_tx_wait_time          | 0     || Rpl_semi_sync_master_tx_waits              | 0     || Rpl_semi_sync_master_wait_pos_backtraverse | 0     || Rpl_semi_sync_master_wait_sessions         | 0     || Rpl_semi_sync_master_yes_tx                | 0     |+--------------------------------------------+-------+

说明

mysql> show global status like 'rpl_semi%';   +----------------------------+-------+| Variable_name              | Value |+----------------------------+-------+| Rpl_semi_sync_slave_status | ON    |+----------------------------+-------+

参数说明

4 测试

转载于:https://blog.51cto.com/12752432/2115293

你可能感兴趣的文章
Java多线程程序设计详细解析
查看>>
IOS 7 Study - UISegmentedControl
查看>>
八、通用类型系统
查看>>
JQuery的ajaxFileUpload的使用
查看>>
Java分享笔记:使用keySet方法获取Map集合中的元素
查看>>
Java面向对象练习题之人员信息
查看>>
关于Integer类中parseInt()和valueOf()方法的区别以及int和String类性的转换.以及String类valueOf()方法...
查看>>
python之sys模块详解
查看>>
ios 控制器的生命周期
查看>>
C#动态代理
查看>>
认证 (authentication) 和授权 (authorization) 的区别
查看>>
使用 sessionStorage 创建一个本地存储的 name/value
查看>>
POJ2127 LICS模板
查看>>
Python笔记8----DataFrame(二维)
查看>>
算法34----种花问题
查看>>
JavaScript 特殊效果代码
查看>>
【?】codeforces721E Road to Home(DP+单调队列)
查看>>
MySQL 仅保留7天、一个月数据
查看>>
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容
查看>>
OGG 11g Checkpoint 详解
查看>>