mysql双机热备以及amoeba读写分离实验
Mysql读写分离是为了提高网站的访问速度,提高数据库的并发负载能力。
但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力, 这样的方案来进行部署与实施的。 注意:先做主从复制,再度读写分离。 MySQL主从复制结构是基于mysql bin-log日志基础上,从库通过打开IO进程收到主库的bin-log日志增量信息,并保存到本地relay log,而后再通过打开MYSQL进程从relay log上获取的增量信息并翻译成SQL语句后写到从数据库。 实验环境: 主:10.8.0.150 从:10.8.0.151 amoeba:10.8.0.160 PS:为了方便实验,可直接yum mysql 或者直接脚本执行lnmp。 拓扑图如下: 实验第一步: 登陆主服务器操作命令 mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'cong151'@'10.8.0.151' IDENTIFIED BY "123456"; mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000008 | 5722410 | | | +------------------+----------+--------------+------------------+ 记住file和Position。 登陆从服务器操作命令 1、编辑my.ini 文件 ,修改 server-id = 2 (默认为1,因做mysql的主从复制,需要修改ID和主服务器上不一样即可,也不可和同内网mysql服务器其他的ID一样) 2、登入mysql mysql> change master to master_host='10.8.0.150',master_user='cong151',master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=5722410; mysql> start slave; mysql> show slave statusG *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.8.0.150 Master_User: cong151 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000008 Read_Master_Log_Pos: 5722410 Relay_Log_File: localhost-relay-bin.000061 Relay_Log_Pos: 251 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |