在主机上创建用户
修改配置
vim /etc/my.cnf
重启
systemctl restart mysqld
查看主机的节点信息
show master status\G
修改配置
vim /etc/my.cnf
重启
systemctl restart mysqld
根据主机的节点信息修改以下指令
change master to master_host='192.168.1.81',master_user='lucien',master_password='123456',master_port=3306,master_log_file='lucien_logbin.000001',master_log_pos=34484,master_connect_retry=30
启动
start slave
定时脚本,每1小时执行一次
vim /etc/cron.hourly/lucien_hour.sh
chmod +x lucien_hour.sh
自恢复脚本
备份:[sql] view plain copy
mysqldump -uroot -p -S /tmp/mysql3306.sock --single-transaction --add-drop-database --master-data=1 --database tms,test >test_backup.sql
--single-transaction : 一致性备份,在备份开始前, 先执行START TRANSACTION命令,以此来获得备份的一致性,当前该参数只对INNODB存储引擎有效。当启用该参数并进行备份时, 确保没有其他任何的DDL语句执行,因为一致性读并不能隔离DDL语句。
--add-drop-database: 备份里会有创建删除数据库的命令, 要和-DATABASE一起使用。
--master-data:通过该参数产生的备份转存文件主要用来建立一个SLAVE REPLICATION。 当VALUE的值为1时,转存文件中记录CHANGE MASTER语句,当VALUE的值为2时,CHANGE MASTER语句被写成SQL注释。默认情况下, VALUE的值为空。
停止原从库的SLAVE复制:
[sql] view plain copy
mysql>stop slave
Query OK, 0 rows affected (0.00 sec)
mysql>reset slave all
Query OK, 0 rows affected (0.08 sec)
mysql>show slave status\G
Empty set (0.00 sec)
在从库进行SOURCE:
[sql] view plain copy
source /apps/test_backup.sql
待恢复完成后,可以根据备份文件里提供的BINLOG POSTION来启动REP:
[sql] view plain copy
mysql>CHANGE MASTER TO MASTER_HOST='192.168.0.93',MASTER_PORT=3306,MASTER_USER='replication',MASTER_PASSWORD='replication',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=69295895
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges
Query OK, 0 rows affected (0.04 sec)
1. 在有主键或者唯一键的情况下,Slave 重放 Binlog 并不会去比较检索到的记录的每一列是否和BI相同,因此如果 Slave 和 Master 存在数据不一致,会直接覆盖 Slave 的数据而不会报错。2. 在没有主键或者唯一键的情况下,Hash Scan / Hash Scan Over Index 的执行效率 在理论上分析高于 Table Scan 和Index Scan 。
3. 在没有主键或者唯一键的情况下,Slave 选择的二级索引是第一个所有的列都在 BI 中存在的索引,不一定是 Master 执行计划所选择的索引。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)