重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql安装点击此处
站在用户的角度思考问题,与客户深入沟通,找到单县网站设计与单县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、做网站、企业官网、英文网站、手机端网站、网站推广、空间域名、网络空间、企业邮箱。业务覆盖单县地区。MySQL主从介绍
MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步。
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
指定数据库同步操作:
环境说明:需求是创建主从复制环境,要求master端只同步主库中的test库到 slave端
master端IP:10.10.10.1 slave端IP:10.10.10.2
主从复制条件:
1.开启主库binlog功能
2.开启主从库server-id
3.确保主从配置文件my.cnf所有server-id不同
4.主库建立同步的账户rep并且授权replication
5.在主库锁表flush tables with read lock; 并查看主库上binlog文件及位置点
show master status\G;记录下此binlog文件和位置点。
6.在master端新开mysql窗口导出全备,恢复备份数据到从库,
7.登录从库,CHANGE MASTER TO…..
自动在从库生成配置文件master.info
打开复制开关start slave;show slave status\G
8.解锁,开放用户写入功能
操作过程:
主库my.cnf配置文件件参数:
vi /etc/my.cnf
server-id=1111 (和从库不同即可)
log-bin=mysql-bin (开启binlog)
binlog-do-db=数据库名称 (记录指定库的binlog,模式不同,记录结果不同。)
binlog_format=mixed (设置binlog模式)
expire_logs_days = 7 (保留7天的binlog)
重启master端mysql
centos 6:
/etc/init.d/mysql restart
centos 7:
systemctl restart mysql
从库my.cnf配置文件件参数:
vim /etc/my.cnf
server-id=2222 (从库的ID,和主库不冲突即可)
重启slave端mysql
centos 6:
/etc/init.d/mysql restart
centos 7:
systemctl restart mysql
一.master 上操作:
主库建立同步的账户rep并且授权replication;在主库锁表flush tables with read lock; 并查看主库上binlog文件及位置点
show master status\G;记录下此binlog文件和位置点。
mysql -uroot -p'数据库密码' -e "grant replication slave on *.* to rep@'10.10.10.2' identified by 'rep@back123'; flush privileges;flush tables with read lock; show master status;"
备份指定数据库数据
mysqldump -uroot -p'数据库密码' -B 数据库名称 --single-transaction --events|gzip >/root/数据库名称_$(date +%F).sql.gz (输出压缩的sql文件)
mysqldump -uroot -p'数据库密码' -B 数据库名称 --single-transaction --events >/root/数据库名称_$(date +%F).sql (输出sql文件)
传输数据到slave端从库机器
scp -rp -P ssh服务端口 sql文件名称 root@从库IP:/root/
二.slave上操作:
登陆从库:
gzip -d test.sql.gz; source /root/test.sql;
stop slave;
reset slave all;
stop slave;
CHANGE MASTER TO
MASTER_HOST='主库地址',
MASTER_PORT=3306, ------->端口
MASTER_USER='新建数据库用户',
MASTER_PASSWORD='新建用户的密码',
MASTER_LOG_FILE='日志文件名称',
MASTER_LOG_POS=日志的Position值;
start slave;show slave status\G;
三.最后在master上执行解锁操作:
unlock tables;
到此处配置完成:
在master上创建测试表测试:
同步单个数据库可以在主服务器或者从服务器上配置:
主服务器:
binlog-do-db= 仅同步指定的库
binlog-ignore-db= 忽略指定的库
从服务器:
replicate_do_db= 同步指定的库
replicate_ignore_db= 忽略指定的库
replicate_do_table= 同步指定的表
replicate_ignore_table= 忽略指定的表
replicate_wild_do_table= 如aming.%,支持通配符
replicate_wild_ignore_table=
主从过程
主将更改操作记录到binlog中
从将主的binlog事件(SQL语句)同步到本机并记录在relaylog中
从根据relaylog里面的SQL语句按顺序执行
说明: 该过程有三个线程,主上有一个log dump线程,用来和从的i/o线程传递binlog;从上有两个线程,其中i/o线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的SQL语句落地。
应用环境
备份重要数据
分担主库数据读取压力
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。