MYSQL主从实战及读写分离

来源:互联网 发布:adobe encoder mac 编辑:程序博客网 时间:2024/05/22 06:26

1.  MYSQL主从原理

1)       至少需要2台数据库服务器,一主一从,Master开启bin-log功能用于记录主库增加、删除、修改、更新SQL语句。

2)       异步复制过程,有延迟,毫秒级别,开启三个线程。分别是Master开启IO线程,SLAVE开启IO线程、SQL线程。

3)       丛库启动salve start,通过IO线程、用户名和密码去连接MASTER,MASTER IO线程负责将bin-log内容、Position位置点数据发给SLAVE。

4)       SLAVEIO线程收到数据之后,会将内容追加到本地relay-log中继日志,同时会生产master.info文件(这次从哪台机器同步,用户名、密码、bin-log文件名、position位置)。

5)       SLAVESQL线程实时监测relay-log内容有更新,解析文件中的SQL语句,在本地去执行。

2.  MYSQL主从构建

1)       Master配置文件中开启bin-log,设置server-id。

2)       授权同步用户和密码;

grant  replication  slave  on *.* to  'tongbu'@'%'  identified by  '123456';

3)       Slave执行change master绑定主库;

change master to master_host='192.168.111.128',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=351;

slave start;

show slave status\G

3.  数据库连接错误

1)       看错误日志;

Discuz! Database Error

2)       数据库服务是否正常;

ps  -ef |grep mysql;

3)       防火墙、Selinux是否有限制;

4)       查看数据库权限;

5)       查看数据是否完整;


读写分离  三个插件 从从库读,从主库写


Amoeba 读写分离 

mysql-proxy 读写分离

mycat 读写分离

mysql-proxy 配置


SHELL编程、APACHE、redis、MYSQL主从、读写分离、Zabbix、Nginx、动静分离、负载均衡。


原创粉丝点击